在 VBA 中,我想通过字符串名称引用不同工作簿中的工作表。
以下返回错误:
Set oSht = Worksheets( "'[My Book.xlsb]MySheet'" )
Set oSht = Evaluate( "'[My Book.xlsb]MySheet'" )
Run Code Online (Sandbox Code Playgroud)
我知道我可以说:
Set oSht = Workbooks("My Book.xlsb").Sheets("MySheet")
Run Code Online (Sandbox Code Playgroud)
但寻求一种不使用 Workbooks 集合的方法。
小智 5
Set oSht = Range("'[My Book.xlsb]MySheet'!A1").Parent
Run Code Online (Sandbox Code Playgroud)
这是有效的,因为 .Range 对象接受并解释描述特定单元格的更广泛的文本。如果您深入到单个单元格并使用它来调用 .parent,您可以获得工作表引用。
如果 My Book.xlsb 有可能被关闭,请使用Workbook.FullName 属性的等效项,而不仅仅是Workbook.Name 属性。