簡體   English   中英

如果值在工作表1和工作表2中的同一列中匹配,則將行復制到新工作表中

[英]Copy Rows Into New Sheet If Value Matches In Same Column In Sheet 1 & Sheet 2

如果在兩個不同的工作表(Q1 DATA,Q2 DATA)的G列中有匹配的值,我需要將所有行返回到新工作表中。

這是第一張紙(Q1數據)

這是第二張紙(Q2數據)

我將VLOOKUP公式=VLOOKUP('Q2 DATA'!D:D,'Q1 DATA'!D:D,2)放入希望將行返回到的第三張表中,但我不斷得到#REF! 錯誤。

我是Excel的新手,所以我確定我的VLOOKUP壞了,但是我似乎無法弄清楚。 任何幫助將不勝感激!

假設工作Sheet Q1的數據結構如下圖所示:

在此處輸入圖片說明

Sheet Q2如下:

在此處輸入圖片說明

現在,工作Sheet Q2 Column D每一行值都將與工作Sheet Q1 Column D匹配。 如果找到匹配項,則將范圍E:ISheet Q1復制到Sheet Q2

試試這個代碼:

Sub Demo()
    Dim data1WS As Worksheet, outputWS As Worksheet
    Dim lastRow As Long
    Dim myRange As Range, rFound As Range

    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual

    Set dataWS = ThisWorkbook.Sheets("Sheet Q1")
    Set outputWS = ThisWorkbook.Sheets("Sheet Q2")

    lastRow = dataWS.Cells(Rows.Count, "D").End(xlUp).row
    Set myRange = Range(dataWS.Cells(2, 4), dataWS.Cells(lastRow, 4))

    For Each cel In myRange
        Set rFound = outputWS.Columns(4).Find(What:=cel.Value, LookIn:=xlValues, LookAt:=xlWhole)
        If Not rFound Is Nothing Then
            Range(outputWS.Cells(cel.row, 5), outputWS.Cells(cel.row, 9)).Value = Range(dataWS.Cells(cel.row, 5), dataWS.Cells(cel.row, 9)).Value
        End If
    Next

    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic
End Sub

這將在工作Sheet Q2給出如下輸出:

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM