vba写一个从其他两个工作簿的特定工作表b列找到符合条件的数值,并取回所在行的数据,追加到本工作蒲的sheet3中
时间: 2024-12-20 10:22:58 浏览: 6
在VBA中,你可以使用`Application.Workbooks`对象以及`Range`和`Find`函数来实现这个功能。假设你要查找的是大于某个值的数据,例如100,可以从其他两个工作簿的工作表B列开始搜索。以下是基本步骤:
```vba
Sub AppendDataFromOtherWorksheets()
Dim ws1 As Worksheet ' 工作表1
Set ws1 = ThisWorkbook.Sheets("Sheet1") ' 替换为你源工作表的名称
Dim ws2 As Worksheet ' 工作表2
Set ws2 = Workbooks.Open Filename:=<文件路径1>).Sheets("Sheet2") '<替换为目标工作簿的文件路径及工作表名
Dim ws3 As Worksheet ' Sheet3
Set ws3 = ThisWorkbook.Sheets("Sheet3")
' 搜索B列并获取符合条件的数据
Dim rng As Range
Set rng = ws2.Range("B:B")
Dim cell As Range
For Each cell In rng
If cell.Value > 100 Then ' 这里设置你的条件
Dim newRow As Range
newRow = ws3.Cells(ws3.Rows.Count, 1).End(xlUp).Offset(1, 0) ' 获取Sheet3的最后一行并添加新行
' 将数据复制到新行
newRow.Offset(0, 0).Value = cell.Offset(0, -1).Value '<- 可能需要调整这里的偏移量,如果B列不是第一列
newRow.Offset(0, 1).Value = cell.Value
' 添加更多你需要的列...
End If
Next cell
' 关闭打开的工作簿
ws2.Workbook.Close SaveChanges:=False
End Sub
```
阅读全文