VBA复制文件夹下指定行的所有内容粘贴到另外一个工作表中
时间: 2023-12-10 20:38:02 浏览: 227
不同工作簿之间工作表内容的拷贝
4星 · 用户满意度95%
以下是一个示例VBA代码,可以实现将文件夹中指定行的数据复制到另一个工作表中:
```VBA
Sub CopyRows()
Dim FolderPath As String
Dim FileName As String
Dim SheetName As String
Dim SearchText As String
Dim RowNum As Long
Dim SrcWb As Workbook
Dim DstWb As Workbook
Dim SrcWs As Worksheet
Dim DstWs As Worksheet
Dim SrcRng As Range
Dim DstRng As Range
'设置文件夹路径、文件名、工作表名、搜索文本和行号
FolderPath = "C:\Folder\"
FileName = "Data.xlsx"
SheetName = "Sheet1"
SearchText = "Search Text"
RowNum = 2
'打开源工作簿和目标工作簿
Set SrcWb = Workbooks.Open(FolderPath & FileName)
Set DstWb = ThisWorkbook
'获取源工作表和目标工作表
Set SrcWs = SrcWb.Worksheets(SheetName)
Set DstWs = DstWb.Worksheets("DestinationSheet")
'查找包含搜索文本的行
Set SrcRng = SrcWs.Cells.Find(SearchText)
If Not SrcRng Is Nothing Then
'如果找到了搜索文本,则选择指定行和其下面的所有行,并将其复制到目标工作表中
Set DstRng = DstWs.Range("A1")
SrcWs.Range(SrcWs.Cells(RowNum, 1), SrcWs.Cells(SrcRng.Row, SrcWs.Columns.Count)).Copy DstRng
End If
'关闭源工作簿
SrcWb.Close SaveChanges:=False
End Sub
```
在上面的代码中,您需要将以下变量替换为实际值:
- `FolderPath`:要搜索的文件夹路径
- `FileName`:要搜索的文件名
- `SheetName`:要搜索的工作表名
- `SearchText`:要搜索的文本
- `RowNum`:要复制的行号
代码将在源工作簿中搜索包含`SearchText`的单元格,并将指定行(`RowNum`)和其下面的所有行复制到目标工作表中。您可以根据需要更改目标工作表的名称(在代码中标记为“DestinationSheet”)。
阅读全文