Excel 在工作表之间复制和粘贴行
我想要实现的是根据某些标准将数据从WS1复制到WS3 我有两张工作表:Excel 在工作表之间复制和粘贴行,excel,vba,Excel,Vba,我想要实现的是根据某些标准将数据从WS1复制到WS3 我有两张工作表: WS1 = RAW DATA WS2 = ATLAS DATA 在这两个字段的A列中都有唯一的标识符。我想做的是创建WS3=对账。然后根据WS1查找WS2中的值。在找到匹配项的地方,我想将WS1中的行复制到WS3,这样所有的 我对一些代码进行了反向工程,并在下面给出了一个代码 Sub CopyAndPaste() Dim x As String, CpyRng As Range Dim mFIND As Range,
WS1 = RAW DATA
WS2 = ATLAS DATA
在这两个字段的A列中都有唯一的标识符。我想做的是创建WS3=对账
。然后根据WS1查找WS2中的值。在找到匹配项的地方,我想将WS1中的行复制到WS3,这样所有的
我对一些代码进行了反向工程,并在下面给出了一个代码
Sub CopyAndPaste()
Dim x As String, CpyRng As Range
Dim mFIND As Range, mFIRST As Range
With Sheets("RAW DATA")
Range("A:A").Select
On Error Resume Next
End With
With Sheets("ATLAS DATA")
Set mFIND = .Range("A:A").Find(x, LookIn:=xlValues, LookAt:=xlWhole)
If Not mFIND Is Nothing Then
Set CpyRng = mFIND
Set mFIRST = mFIND
Do
Set CpyRng = Union(CpyRng, mFIND)
Set mFIND = .Range("A:A").FindNext(mFIND)
Loop Until mFIND.Address = mFIRST.Address
CpyRng.EntireRow.Copy Sheets("Rec").Range("A" & Rows.Count).End(xlUp).Offset(1)
End If
End With
End Sub
基于您对问题的描述;试试这个
Option Explicit
Sub CopyAndPaste()
Application.ScreenUpdating = False
Dim i As Long, j As Long, lastRow1 As Long, lastRow2 As Long, cnt As Long
Dim ws1 As Worksheet, ws2 As Worksheet, ws3 As Worksheet
Set ws1 = ActiveWorkbook.Sheets("RAW DATA")
Set ws2 = ActiveWorkbook.Sheets("ATLAS DATA")
Set ws3 = ActiveWorkbook.Sheets("Reconciliation")
lastRow1 = ws1.Range("A" & Rows.Count).End(xlUp).Row
lastRow2 = ws2.Range("A" & Rows.Count).End(xlUp).Row
cnt = 1
For i = 1 To lastRow1
For j = 1 To lastRow2
If StrComp(CStr(ws2.Range("A" & j).Value), _
CStr(ws1.Range("A" & i).Value), _
vbTextCompare) = 0 Then
ws1.Activate
ws1.Rows(i).Select
Selection.Copy
ws3.Activate
ws3.Range("A" & cnt).Select
Selection.PasteSpecial Paste:=xlPasteAllUsingSourceTheme
Application.CutCopyMode = False
cnt = cnt + 1
End If
Next j
Next i
Application.ScreenUpdating = True
End Sub
需要帮助使我的代码工作,我想我刚才说过。如果没有,我很抱歉。谢谢你的回复。代码正在执行,但在显示结果之前“挂起”,因此我无法确认它是否有效。如何发布电子表格以便于测试?如果我要求太高,我向你道歉。你可以使用,或者任何其他免费的在线托管服务。在使用了一台功能更强大的计算机后,我设法让代码正常工作。大家都做得很好,我真的很感谢你们的帮助。