我试图使用VBA将数据从一个工作簿复制到当前工作簿。InputBook是一个工作簿对象,它指向我要从中提取数据的文件。主要问题与引用InputBook工作簿中的特定工作表有关。在InputBook中,我有一个名为“ Lines”的工作表,其代码名为LINES。我希望按其代号引用此工作表,例如:
NumItems = WorksheetFunction.CountA(InputBook.LINES.Columns(1))
这显然行不通,我知道可以使用以下两种方法之一使其起作用:
NumItems = WorksheetFunction.CountA(InputBook.Sheets("Lines").Columns(1))
NumItems = WorksheetFunction.CountA(InputBook.Sheets(2).Columns(1))
但是,我宁愿不使用任何一种方法,因为它们似乎不太可靠。有没有办法在另一个打开的工作簿中引用工作表对象的代号?谢谢。
您可以通过以下方式“破解”对另一个工作簿工作表代码名称的引用:
Sub UseCodeNameFromOutsideProject()
Dim WS As Worksheet
With Workbooks("InputBook .xls")
Set WS = _
.Worksheets(CStr(.VBProject.VBComponents("Lines").Properties(7)))
debug.print WS.Name
End With
End Sub
WS
在此示例中,您的对象现在设置为具有代号“ Lines”的工作表。
原始的灵感就在这里。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句