如果workbook1中的G列不为空,则将整行复制到workbook2中。
现在,我要做的只是在其中包含If语句的“直到”。
我知道这可能不是破解该漏洞的最有效方法,所以我正在寻求帮助。
答案 0 :(得分:0)
我们首先为所有与给定条件匹配的行取并,而不是为每个单元格查找,复制和粘贴,然后仅复制和粘贴一次。要使用下面的解决方案,请确保两个工作簿均已打开,并根据需要将其名称放在下面的字符串中:
Sub Macro1()
Dim wb1s as Worksheet, wb2s as Worksheet, rngG As Range, MySel As Range
'Change String as required based on your Workbook Name
'Change Worksheet number as required.
Set wb1s = Workbooks("workbook1.xlsx").Worksheets(1)
Set wb2s = Workbooks("workbook2.xlsx").Worksheets(1)
With wb1s
Set rngG = .Range("G1", .Range("G" & .Rows.Count).End(xlUp))
End With
For Each cell In rngG
If cell.Value <> "" Then
If MySel Is Nothing Then
Set MySel = cell.EntireRow
Else
Set MySel = Union(MySel, cell.EntireRow)
End If
End If
Next cell
If Not MySel Is Nothing Then MySel.Copy Destination:= wb2s.Range("A1")
End Sub