用vba读取多个Excel中的值汇总到一个工作表
时间: 2023-12-31 17:05:23 浏览: 171
你可以按照以下步骤来实现:
1. 打开一个新的Excel工作簿,然后在“开发工具”选项卡中选择“Visual Basic”。
2. 在“工程资源管理器”中,右键单击“这个工作簿”,然后选择“插入”>“模块”。
3. 在新的模块中,编写以下代码来读取多个Excel文件中的值:
```
Sub ConsolidateData()
Dim wb As Workbook
Dim ws As Worksheet
Dim rngDest As Range
Dim strFile As String
Dim strPath As String
Dim strExtension As String
Dim strFilename As String
'设置目标工作表
Set ws = ThisWorkbook.Worksheets("Sheet1")
Set rngDest = ws.Range("A1")
'设置要读取的文件夹路径和文件类型
strPath = "C:\MyFolder\"
strExtension = "*.xlsx"
'循环读取每个文件
strFile = Dir(strPath & strExtension)
Do While strFile <> ""
'打开文件并读取数据
Set wb = Workbooks.Open(strPath & strFile)
For Each ws In wb.Worksheets
ws.UsedRange.Copy rngDest
Set rngDest = rngDest.Offset(ws.UsedRange.Rows.Count)
Next ws
wb.Close savechanges:=False
strFile = Dir()
Loop
End Sub
```
4. 修改代码中的“目标工作表”、“文件夹路径”和“文件类型”等变量,以适应你的实际情况。
5. 运行代码,它将循环读取指定文件夹中的所有Excel文件,并将它们的值汇总到目标工作表中。
希望这个回答能够帮到你!
阅读全文