Excel 发回匹配的整个rom,而不仅仅是匹配的值

Excel 发回匹配的整个rom,而不仅仅是匹配的值,excel,resize,vba,Excel,Resize,Vba,匹配代码在匹配行上回发匹配值(如果存在)我需要回发匹配的整行,而不仅仅是匹配 但我不知道如何调整大小 谢谢 Sub FindMatches() Dim PostBackWS As Worksheet Dim FindRng As Range, ReplaceRng As Range, fCell As Range, rCell As Range Dim LC as Long Set FindRng = GetRange("OriginalData", "A", "B", "B", 2, Fal

匹配代码在匹配行上回发匹配值(如果存在)我需要回发匹配的整行,而不仅仅是
匹配

但我不知道如何调整大小

谢谢

Sub FindMatches()
Dim PostBackWS As Worksheet
Dim FindRng As Range, ReplaceRng As Range, fCell As Range, rCell As Range
Dim LC as Long

Set FindRng = GetRange("OriginalData", "A", "B", "B", 2, False)
Set ReplaceRng = GetRange("NewData_Prepped", "A", "AA", "AA", 2, False)
Set PostBackWS = ThisWorkbook.Sheets("XXX")

LC = Sheets("OriginalData").Cells(1, Columns.Count).End(xlToLeft).Column

 For Each fCell In FindRng
    If DoesMatchExists(fCell, ReplaceRng) = True Then

       'This posts back the matched cell value
        'PostBackWS.Range(fCell.Address).Value = fCell.Value

       'I want to post back the entire row of matched cell
        PostBackWS.Range(fCell.Address) =  Sheets("OriginalData").Range(fCell.Address).Resize(1, LC)

        'I have also tried
         PostBackWS.Range(fCell.Address).Offset(0, 1) = fCell.EntireRow

    End If
Next fCell
End Sub
UDF

Function DoesMatchExists(ByVal FindValue As String, LookInRange As Range) As   Boolean
    DoesMatchExists = Not LookInRange.Find(FindValue, , xlValues, xlWhole, xlByRows, xlNext, MatchCase:=False) Is Nothing
End Function

Function GetRange(shtName As String, lcLetter As String, ColLetter1 As String, ColLetter2 As String, Optional startRow As Long = 2, Optional absRange   As Boolean = False) As Range
Dim LastCellRow As Object
Dim ws As Worksheet
Dim LastRow As Long, LastColRow As Long

Set ws = ThisWorkbook.Sheets(shtName)

Select Case absRange
Case False
  With ws
          LastRow = .Range(lcLetter & .Rows.Count).End(xlUp).Row
     Set GetRange = .Range(.Cells(startRow, ColLetter1), .Cells(LastRow, ColLetter2))
  End With

Case True
  With ws
       Set LastCellRow = .Cells.Find(what:="*", _
                          After:=.Range("A1"), _
                          LookAt:=xlPart, _
                          LookIn:=xlFormulas, _
                          SearchOrder:=xlByRows, _
                          SearchDirection:=xlPrevious, _
                          MatchCase:=False)
           LastRow = LastCellRow.Row

      Set GetRange = .Range(.Cells(startRow, ColLetter1), .Cells(LastRow, ColLetter2))
  End With
End Select

结束函数

经过几个小时我想出了

Function GetRowRangeOfCell(FindRange As Range)
    Set GetRowRangeOfCell = FindRange.Offset(0, -(FindRange.Column - 1)).Resize(1,  FindRange.CurrentRegion.Columns.Count)
End Function
然后就这样用

GetRowRangeOfCell(fCell).Copy Destination:=PostBackWS.Range(fCell.Address).Offset(0, -(fCell.Column - 1) + LC)