大家好我有一张超过60 000行的工作表,我想将所有行复制到新工作表中,如果行的行包含某些值,例如Energizer,如下面的代码所示
Sub Macro3()
Dim rngA As Range
Dim cell As Range
Set col = Cells(Rows.Count, "A").End(xlUp)
Set rngA = Range("A2", col)
For Each cell In rngA
If cell.Value = "Energizer" Then
cell.EntireRow.Copy
End If
Next cell
End Sub
代码并不能完成所有工作?
答案 0 :(得分:2)
以下将A列中包含“Energizer”的所有行复制到剪贴板中。
Sub Macro3()
Dim rngA As Range
Dim cell As Range
Dim col As Range
Dim copiedRange As Range
Dim r As Integer
Set col = Cells(Rows.Count, "A").End(xlUp)
r = 0
Set rngA = Range("A2", col)
For Each cell In rngA
If cell.Value = "Energizer" Then
If r = 0 Then
Set copiedRange = cell.EntireRow
r = 1
Else
Set copiedRange = Union(copiedRange, cell.EntireRow)
End If
End If
Next cell
If r = 1 Then
copiedRange.Copy
End If
End Sub
如代码中所述,如果要将行直接复制到新工作表,请在复制命令后添加目标。
答案 1 :(得分:0)
如果这确实是您的所有代码,则忘记将复制的行粘贴到新工作表中。