上一章给大家分享了一下关于一个工作薄中的许多工作表怎么拆分并且保存到不同的工作薄中,今天就给大家分享一下关于不同工作表怎么汇总,具体的就是把工作簿中的不同工作表内容汇总到一起。

下需要使用到的前面分享过的知识Range的对象的 属性CurrentRegion,CurrentRegion的主要功能就是返回当前的区域。

还要使用Range对象的属性Resize

Resize有两个可选参数。

第一个参数RowSize,表示新的区域中的行数。 如果省略,就表示区域中的行数保持不变。

第二个参数ColumnSize,表示新的区域中的列数。 如果省略,就表示区域中的列数保持不变。

下面我们就开始把工作表学生表格1和工作表学生表格2的信息汇总到工作表sheet1中

excel中VBA的工作薄中不同的工作表怎么汇总到一个指定的工作表中?-天天办公网

下面就是代码运行后的效果:

excel中VBA的工作薄中不同的工作表怎么汇总到一个指定的工作表中?-天天办公网

下面就对代码具体简单地解释一下:

excel中VBA的工作薄中不同的工作表怎么汇总到一个指定的工作表中?-天天办公网

excel中VBA的工作薄中不同的工作表怎么汇总到一个指定的工作表中?-天天办公网

excel中VBA的工作薄中不同的工作表怎么汇总到一个指定的工作表中?-天天办公网

代码1:

Sub test()

Dim s As Worksheet, r As Range, h As Integer

Dim arr(1 To 7) As Variant, i As Integer, j As Integer

Worksheets(“sheet1”).Range(“A1:G65536”).Rows.Clear

For i = 1 To 7

arr(i) = Worksheets(1).Cells(1, i).Value

Next

For j = 1 To 7

Worksheets(“sheet1”).Cells(1, j).Value = arr(j)

Worksheets(“sheet1”).Cells(1, j).Interior.Color = RGB(255, 0, 0)

With Worksheets(“sheet1”).Cells(1, j).Font

.Name = “宋体”

.Size = 14

.Bold = True

End With

Next

For Each s In Worksheets

If s.Name <> ActiveSheet.Name Then

Set r = Worksheets(“sheet1”). Range(“A65536”).End(xlUp).Offset(1, 0)

h = s.Range(“A1”).CurrentRegion.Rows.Count

s.Range(“A2”).Resize(h, 7).Copy r

End If

Next

End Sub