从多个工作表收集数据

时间:2020-05-10 22:01:28

标签: vba

如何从工作簿的9个工作表中的3个中收集到这个信息?

a = 0
a := condition ? 1 : a[1]

结束子

2 个答案:

答案 0 :(得分:0)

您可以使用Worksheets(“ name”)。select,然后从那里操作数据吗? 如果您要尝试其他操作,请更具体。

这也是循环浏览工作表的代码:

Sub GetSelectedSheetsName()
    Dim ws As Worksheet

    For Each ws In ActiveWindow.SelectedSheets
         MsgBox ws.Name
    Next ws

End Sub

答案 1 :(得分:0)

您的问题不是很清楚,但我“认为”您想从多张纸上收集数据并发布到一张纸上。

一种方法是设置工作表数组并循环遍历。

这是我放在新工作表上的一个示例。我添加了一堆表格,称为:HelloWorldThisIsACollectionOfSheets,此代码返回了三个消息框,其中显示了HelloWorldCollection

Sub Temp()
Dim MySheets(2) As Worksheet, X As Long
Set MySheets(0) = Worksheets("Hello"): Set MySheets(1) = Worksheets("World"): Set MySheets(2) = Worksheets("Collection")
For X = LBound(MySheets) To UBound(MySheets)
    MsgBox (MySheets(X).Name)
Next
End Sub

您可以以与使用sht1相同的方式使用MyWorksheets(X)对象,但是现在您可以通过迭代X遍历它们

如果这不是您要找的答案,请回发更多有关您需求的详细信息。

另外请注意,在VBA中变暗时切勿使用Integer,始终使用Long。在此网站上搜索有关原因的一些很好的解释。