工作表名称更改时如何使macros工作
我如何使它成为macros,即使有人更改了Sheet1,Sheet2等标签的名称,我的macros也可以在电子表格上工作。
例如从我的代码这个片段:
Set MyWorkbook = Workbooks.Open(DataDialog.SelectedItems(Counter)) Set MySheet = MyWorkbook.Worksheets("Sheet1")
获取运行时错误“9”:
下标超出范围
问题是我需要这个macros能够在多个不同的工作簿上使用不同的命名标签,在很多情况下,标签将被隐藏,看起来是Sheet1真的是Sheet3。 有没有一种方法可以单独在活动工作表上进行macros观工作?
是的,你不必硬编码“Sheet1”。 相反,你可以这样做:
方法1:声明variables
Dim sName as string sName = Activesheet.Name
然后,您可以在variablessName中使用名称,而不是对其进行硬编码。
方法2:您可以使用工作表索引
sName = Sheets(1).Name
其中1表示工作簿中的索引页数。
所以,当表名更改时,可以使用上述两种方法中的任何一种来获取表名。