如何创建一个询问您是否要重命名工作表的宏?



我需要一个宏,当用户写入输入框时,它将重命名工作表。到目前为止,我已经有了这个,但是当我插入新名称时,旧工作表不会更改其名称。

比较表已存在,名称为"比较"。我只想根据用户将决定的新名称更改其名称。

Sub SalvarAba()
If MsgBox("Keep comparison?", vbQuestion + vbYesNo, "Keep?") = vbYes Then
s = InputBox("Please enter a sheet name")
'rename the sheet
End If
End Sub

这可能不是最好的方法,因此如有必要,请随时更改它。

If MsgBox("Keep comparison?", vbQuestion + vbYesNo, "Keep?") = vbYes Then
s = Inputbox("Please enter a sheet name")
'rename the sheet
End If

你可以以输入框的形式完成所有这些操作。 这包含三种可能的结果: 取消按钮 没有文本的"确定"按钮 带有文本的"确定"按钮 我不喜欢使用活动工作簿,但我不知道您的工作簿叫什么名字。

我进行了建议的更改,并为现有的"比较"表添加了检查。

Private Sub test()
Dim wb As Workbook
Dim sht As Worksheet
Dim r As String
Dim result As String
On Error GoTo None
Set wb = ActiveWorkbook 'can be cnged to ThisWorkbook as needed.
Set sht = wb.Sheets("Comparison") 'this checks for worksheet by the name of "Comparison"
r = InputBox("Keep comparison?  Enter name and hit OK, or just cancel to not keep comparison")
If StrPtr(r) = 0 Then
ElseIf r = vbNullString Then
Else
wb.Sheets("Comparison").Name = r
End If
None:
End Sub

最新更新