VBA复制文件夹下指定行的所有内容粘贴到另外一个工作表中
时间: 2023-12-10 11:37:52 浏览: 144
不同工作簿之间工作表内容的拷贝
4星 · 用户满意度95%
以下是 VBA 代码示例,可以实现将文件夹下指定行的所有内容复制粘贴到另一个工作表中:
```
Sub CopyDataFromFolder()
Dim folderPath As String
Dim filePath As String
Dim wb As Workbook
Dim wsSource As Worksheet
Dim wsTarget As Worksheet
Dim lastRow As Long
Dim i As Long
'定义文件夹路径和工作表
folderPath = "C:\Test\" '修改为您的文件夹路径
filePath = Dir(folderPath & "*.xlsx")
Set wb = ThisWorkbook
Set wsSource = wb.Sheets("Sheet1") '源工作表
Set wsTarget = wb.Sheets("Sheet2") '目标工作表
'清空目标工作表
wsTarget.Cells.ClearContents
'循环遍历文件夹下的所有文件
While filePath <> ""
'打开文件
Set wb = Workbooks.Open(folderPath & filePath)
Set wsSource = wb.Sheets("Sheet1") '源工作表
'获取源工作表最后一行
lastRow = wsSource.Cells(Rows.Count, 1).End(xlUp).Row
'循环遍历指定行,将内容复制到目标工作表中
For i = 1 To lastRow
If wsSource.Cells(i, 1) = "关键字" Then '修改为您要复制的行的关键字
wsSource.Range("A" & i & ":F" & i).Copy wsTarget.Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
End If
Next i
'关闭文件
wb.Close False
'获取下一个文件
filePath = Dir()
Wend
MsgBox "复制完成!"
End Sub
```
需要注意的是,您需要将代码中的“关键字”修改为您要复制的行的关键字,同时将文件夹路径和工作表名称修改为实际值。此外,您需要在 VBA 编辑器中打开您的工作簿,并在“工具”菜单中选择“引用”,勾选“Microsoft Scripting Runtime”选项,以便使用 FileSystemObject 对象来访问文件夹中的文件。
阅读全文