Excel在匹配单元格时返回整行

时间:2014-11-13 14:28:28

标签: excel vba excel-vba vlookup

我有一张有两张纸的工作簿。

表1包含所有数据。

工作表2目前是空白的,我打算使用VLOOKUP返回与特定单元格匹配的任何行。

在E栏的第1页中,每个单元格中都有不同的值,我想返回任何说tyre

的内容

每当列E包含单词轮胎时,我希望它们复制整行数据。 轮胎一词在Sheet2的单元格B1中

我目前已经尝试过这个代码,它位于第2页,但只是获得#VALUE!错误。

 =VLOOKUP($B$1,'sheet1'!E:E,0,FALSE)

1 个答案:

答案 0 :(得分:2)

我宁愿使用VBA方法。只需运行一个说:

的宏
Public Sub specialLookUp()
    Dim keyword As String: keyword = Sheets("sheet2").Range("B1").Value
    Dim countRows1 As Long, countRows2 As Long
    countRows1 = 2 'the first row of your dataset in sheet1
    endRows1 = 1000 'the last row of your dataset in sheet1
    countRows2 = 2 'the first row where you want to start writing the found rows
    For j = countRows1 To endRows1
        If Sheets("sheet1").Range("E" & j).Value = keyword Then
            Sheets("sheet2").Rows(countRows2).Value = Sheets("sheet1").Rows(j).Value
            countRows2 = countRows2 + 1
        End If
    Next j
End Sub

请注意,现在您可以在sheet1中对数据集的开头和结尾进行硬编码,因为您已告诉我您的数据没有ID或任何类型的必填字段。