我正在处理一个for循环,它在工作表的第一页上获取一个条目,然后将其复制并粘贴到工作簿中的剩余工作表中,数组大小为Worksheets.Count
。具体来说,我无法找到一种方法来调用每个特定工作表中的每个表。我试图根据for循环中的计数器选择表格,以便:
For i=1 to Worksheets.count
Range.("Table(Counter").Select
Next i
但它不起作用。有没有更好的方法来确保我的代码在每个连续的工作表中选择正确的表?我仍然是VBA的新手,所以任何和所有的帮助表示赞赏!
答案 0 :(得分:1)
如果您使用的是计数器,我假设您的表名为 Table1 , Table2 ,对于每个工作表都是如此。
这里的问题是你需要确保工作表索引与表格的顺序相同。
您可以尝试使用此替代方案,该方案不依赖于工作表的顺序和Tables
的名称。
Dim sh As Worksheet
For Each sh In ThisWorkbook.Worksheets
sh.ListObjects(1).Range.Select
' to check if you got the correct object, add below line
Debug.Print sh.ListObjects(1).Range.Address(, , , True)
Next
以上考虑到每张工作表中只有一(1)Table
。