如何将工作表的名称保存到 VBA 中的变量?
How do I save the name of a worksheet to a variable in VBA?
因此,我正在尝试将工作表的名称添加到同一工作簿中的新工作表。
例如,我将有一个允许用户 select 单元格的输入框。我想将他们 select 编辑的单元格中的工作表名称保存到一个变量中。
然后将在不同的工作表上调用该变量,将工作表的名称输入到空单元格中。
Sub sheets()
Dim myCell As Range
Dim current As Worksheet
Set myCell = Application.InputBox( _
prompt:="Select a cell", Type:=8)
current = ActiveSheet
MsgBox current
End Sub
从上面的代码中,我有一个输入框,当用户 select 单元格时,我试图将变量“当前”分配给活动表,然后我 运行 一个消息框检查变量是否已正确分配。它 运行 是一个“未设置对象变量”错误。请问有人知道我可以做些什么来解决这个问题吗?
由于current
是Worksheet对象,需要赋值Set
:
Set current = ActiveSheet
但是,由于它是一个对象,因此下一行将失败并且还需要更改:
MsgBox current.Name
如果你只想保存名称,你需要将 current
的类型从 Worksheet 更改为 String 并为其赋值 ActiveSheet.Name
.
因此,我正在尝试将工作表的名称添加到同一工作簿中的新工作表。
例如,我将有一个允许用户 select 单元格的输入框。我想将他们 select 编辑的单元格中的工作表名称保存到一个变量中。
然后将在不同的工作表上调用该变量,将工作表的名称输入到空单元格中。
Sub sheets()
Dim myCell As Range
Dim current As Worksheet
Set myCell = Application.InputBox( _
prompt:="Select a cell", Type:=8)
current = ActiveSheet
MsgBox current
End Sub
从上面的代码中,我有一个输入框,当用户 select 单元格时,我试图将变量“当前”分配给活动表,然后我 运行 一个消息框检查变量是否已正确分配。它 运行 是一个“未设置对象变量”错误。请问有人知道我可以做些什么来解决这个问题吗?
由于current
是Worksheet对象,需要赋值Set
:
Set current = ActiveSheet
但是,由于它是一个对象,因此下一行将失败并且还需要更改:
MsgBox current.Name
如果你只想保存名称,你需要将 current
的类型从 Worksheet 更改为 String 并为其赋值 ActiveSheet.Name
.