上一章给大家分享了一下关于一个工作薄中的许多工作表怎么拆分并且保存到不同的工作薄中,今天就给大家分享一下关于不同工作表怎么汇总,具体的就是把工作簿中的不同工作表内容汇总到一起。
下需要使用到的前面分享过的知识Range的对象的 属性CurrentRegion,CurrentRegion的主要功能就是返回当前的区域。
还要使用Range对象的属性Resize
Resize有两个可选参数。
第一个参数RowSize,表示新的区域中的行数。 如果省略,就表示区域中的行数保持不变。
第二个参数ColumnSize,表示新的区域中的列数。 如果省略,就表示区域中的列数保持不变。
下面我们就开始把工作表学生表格1和工作表学生表格2的信息汇总到工作表sheet1中
下面就是代码运行后的效果:
下面就对代码具体简单地解释一下:
代码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