以下是一个示例代码,可以根据条件从一个工作簿复制和粘贴数据:
Sub CopyDataBasedOnConditions() Dim wb1 As Workbook, wb2 As Workbook Dim ws1 As Worksheet, ws2 As Worksheet Dim copyRange As Range, pasteRange As Range Dim criteriaRange As Range, cell As Range Dim i As Integer, lastRow As Integer
'定义工作簿和工作表
Set wb1 = ThisWorkbook
Set ws1 = wb1.Sheets("Sheet1")
Set wb2 = Workbooks.Open("C:\Users\user\Desktop\Workbook2.xlsx") '另一个工作簿的路径
Set ws2 = wb2.Sheets("Sheet1")
'设置复制和粘贴的区域
lastRow = ws1.Cells(Rows.Count, "A").End(xlUp).Row
Set copyRange = ws1.Range("A2:F" & lastRow) '从第2行开始复制
Set pasteRange = ws2.Range("A2:F2") '粘贴到另一个工作簿的第2行
'设置条件
Set criteriaRange = ws1.Range("E2:E" & lastRow) '根据第E列条件进行复制
'循环遍历条件,将符合条件的行复制到另一个工作簿
i = 1 '设置初始行数
For Each cell In criteriaRange
If cell.Value = "需要复制的条件" Then '需根据实际条件设置
copyRange.Rows(i).Copy
pasteRange.Insert xlShiftDown
i = i + 1 '行数加1
End If
Next cell
'关闭工作簿
wb2.Close SaveChanges:=True
'清除对象
Set criteriaRange = Nothing
Set pasteRange = Nothing
Set copyRange = Nothing
Set ws2 = Nothing