我正在为陷入循环中的一些代码而苦苦挣扎。我正在尝试获取代码以复制BD列中的值为1的任何行,并将该整行的值粘贴到另一个工作表中的下一个空行中。我正在使用的代码如下
Sub FindIssues()
Dim LR As Long, i As Long
LR = Range("A" & Rows.Count).End(xlUp).Row
For i = 2 To LR
Sheets("Macro Worksheet").Select
If Range("BD" & i).Value = "1" Then Rows(i).Select
Selection.Copy
Sheets("Macro Worksheet 2").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Do Until IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Macro Worksheet").Select
Next i
End Sub
谢谢你的帮助
宏工作表
Option Explicit
Sub CopyEntireRow()
Application.ScreenUpdating = False
Dim src As Worksheet
Set src = Sheets("Macro Worksheet")
Dim trgt As Worksheet
Set trgt = Sheets("Macro Worksheet 2")
Dim i As Long
For i = 1 To src.Range("A" & Rows.Count).End(xlUp).Row
If src.Range("A" & i) = 1 Then
' calling the copy paste procedure
CopyPaste src, i, trgt
End If
Next i
Application.ScreenUpdating = True
End Sub
' this sub copoes and pastes the entire row into a different sheet
' below the last used row
Private Sub CopyPaste(ByRef src As Worksheet, ByVal i As Long, ByRef trgt As Worksheet)
src.Activate
src.Rows(i & ":" & i).Copy
trgt.Activate
Dim nxtRow As Long
nxtRow = trgt.Range("A" & Rows.Count).End(xlUp).Row + 1
trgt.Rows(nxtRow & ":" & nxtRow).PasteSpecial _
Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End Sub
宏工作表2
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句