VBA的工作薄中不同的工作表怎么汇总到一个指定的工作表中
还要使用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