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

(0)

相关推荐