在VBA程序中访问Excel工作表而不提及其名称

在VBA程序中访问Excel工作表而不提及其名称,vba,excel,Vba,Excel,如何使用VBA引用Excel工作表,因为VBA只有一张工作表,而不在程序中提及工作表名称?实际上,工作表名称下一次可能会随着新数据而更改,这会在我的自动化过程中产生问题。如果宏在同一文件上运行,您只需使用全局activesheet对象引用它即可 如果您是从其他地方加载它,您可能会执行以下操作: Dim objWorkbook as Workbook Dim objWorksheet as Worksheet Set objWorkbook = Workbooks.Open("my-file.x

如何使用VBA引用Excel工作表,因为VBA只有一张工作表,而不在程序中提及工作表名称?实际上,工作表名称下一次可能会随着新数据而更改,这会在我的自动化过程中产生问题。

如果宏在同一文件上运行,您只需使用全局
activesheet
对象引用它即可

如果您是从其他地方加载它,您可能会执行以下操作:

Dim objWorkbook as Workbook
Dim objWorksheet as Worksheet

Set objWorkbook = Workbooks.Open("my-file.xlsx")
Set objWorksheet = objWorkbook.Worksheets(1)

为@Mr.E.添加一些内容。回答时,请注意每张纸上有两个名称:
-用户可见的选项卡名称,显示在项目浏览器的括号内
-vba图纸名称,首先出现在项目资源管理器中

因此
Sheets(“MyList”).Range(myRange)
可能与

Sheet1.Range(myRange)
当然还有
Worksheets(1.Range)(myRange)
,如果您只有一张工作表。

ThisWorkbook.Worksheets(1)
?我认为工作表是基于1的,所以我会使用
objWorkbook.Worksheets(1)