合并Array多个工作表

问题描述 投票:0回答:1

请告知我如何能够获得Dim表格,因为有时可能有超过300张纸张,并且不是每张纸张的表格都是(表4)。我必须巩固相同的阵列R10C1:R26C2

Sub Macro15()

Dim wb As Workbook
Dim ws As Worksheet
Dim ws2 As Worksheet
Dim arrRange()

Set wb = ThisWorkbook
Set ws = wb.ActiveSheet

arrRange = Array("Sheet4!R10C1:R26C2", "Sheet4 (2)!R10C1:R26C2", "Sheet4 (3)!R10C1:R26C2", _
"Sheet4 (4)!R10C1:R26C2", "Sheet4 (5)!R10C1:R26C2", "Sheet4 (6)!R10C1:R26C2", "Sheet4 (7)!R10C1:R26C2", _
"Sheet4 (8)!R10C1:R26C2", "Sheet4 (9)!R10C1:R26C2", "Sheet4 (10)!R10C1:R26C2", "Sheet4 (11)!R10C1:R26C2", _
"Sheet4 (12)!R10C1:R26C2", "Sheet4 (13)!R10C1:R26C2", "Sheet4 (14)!R10C1:R26C2")

Set ws2 = wb.Sheets.Add

With ws2
    .Range("A1").Consolidate arrRange, xlSum, True, True, False
End With

Application.ActiveWindow.SmallScroll Down:=-228
ws.Columns("A:A").ColumnWidth = 23.88
ws.Columns("A:A").ColumnWidth = 41.25
ws.Columns("A:A").ColumnWidth = 47.88
ws.Columns("B:B").ColumnWidth = 16.5

End Sub
arrays vba worksheet-function
1个回答
0
投票

未经测试:但您可以尝试这样的方法来获取工作表名称,并在将工作表名称复制到数组中时将范围连接到它。

Dim sheets_Count As Integer
Dim sheets_Name() As String

sheets_Count = Sheets.Count

ReDim sheets_Name(sheets_Count)

For i = 1 To sheets_Count
    sheets_Name(i) = ActiveWorkbook.Sheets(i).Name
Next i

end sub

希望能帮助到你。

© www.soinside.com 2019 - 2024. All rights reserved.