vba汇总工作表
时间: 2023-07-30 12:11:36 浏览: 63
要汇总多个工作表中的数据,可以使用 VBA 编写一个宏。以下是一个简单的示例:
```
Sub SummarizeData()
Dim ws As Worksheet
Dim lastRow As Long
Dim summaryRow As Long
'创建汇总工作表
Set summarySheet = ThisWorkbook.Sheets.Add(after:= _
ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
summarySheet.Name = "Summary"
'添加表头
summarySheet.Range("A1").Value = "Name"
summarySheet.Range("B1").Value = "Score"
summaryRow = 2 '从第二行开始添加数据
'循环遍历每个工作表
For Each ws In Worksheets
If ws.Name <> summarySheet.Name Then '不包含汇总工作表
lastRow = ws.Cells(Rows.Count, 1).End(xlUp).Row '获取最后一行行号
'循环遍历每行数据,并将其添加到汇总工作表中
For i = 2 To lastRow
summarySheet.Cells(summaryRow, 1).Value = ws.Cells(i, 1).Value '将姓名添加到第一列
summarySheet.Cells(summaryRow, 2).Value = ws.Cells(i, 2).Value '将分数添加到第二列
summaryRow = summaryRow + 1 '更新汇总工作表的行号
Next i
End If
Next ws
'自动调整列宽
summarySheet.Columns.AutoFit
End Sub
```
上面的代码将遍历所有工作表(除了汇总工作表),并将它们的数据添加到一个名为“Summary”的新工作表中。在这个示例中,假设每个工作表都有两列数据,“Name”和“Score”。要修改代码以适应您自己的工作表,请更改相应的单元格引用和列数。