使用包含VLOOKUP等式的单元格从表中复制行

时间:2017-08-16 13:44:11

标签: excel vba excel-vba

我对VBA非常不熟悉,而且我仍然坚持使用这部分代码。我有一个带有vlookup方程的单元格,我想用它作为参数在不同工作表的表格中查找值,并将整行复制到不同的工作表。我过去曾使用this code基于单个参数复制数据,但我认为我遇到的问题是我试图引用的单元格中包含一个vlookup方程。

Sub Test()
For Each cell In Sheets(RawDataLoader).Range("E:E")
If cell.Value = "B8" Then
    matchRow = cell.Row
    Rows(matchRow & ":" & matchRow).Select
    Selection.Copy

    Sheets("Dashboard").Select
    ActiveSheet.Rows(matchRow).Select
    ActiveSheet.Paste
    Sheets("RawDataLoader").Select
End If
Next
End Sub

RawDataLoader是带有我的表

的工作表

仪表板是我希望单元格移动的工作表

B8是我要用作表格查找值的工作表控制板上的单元格。

我希望它搜索的值的范围是E:E和RawDataLoader表。

我知道我的代码的cell.value部分是不正确的,我只是不知道如何引用单元格值,所以我把我想要引用的单元格。

谢谢!

1 个答案:

答案 0 :(得分:1)

您只需使用Sheets("Dashboard").Range("B8").value代替"B8"即可。您还可以简化代码;避免使用Select并仅循环使用的范围而不是整列。

Sub Test()
  Dim cell as Range
  For Each cell In Intersect(Sheets("RawDataLoader").UsedRange, Sheets("RawDataLoader").Range("E:E"))
    If cell.Value = Sheets("Dashboard").Range("B8").value Then
      cell.EntireRow.copy Sheets("Dashboard").Rows(cell.Row)
    End If
  Next
End Sub