复制具有特定值的行vba excel

大家好,我有一个超过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 

代码根本不起作用可以做什么?

以下内容将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 

如代码中所述,如果要将行直接复制到新工作表,请在复制命令之后添加目标。

如果这真的是你所有的代码,你忘了粘贴复制的行到新的工作表。