excel在使用vlookup时找到源单元格的值

时间:2016-06-24 14:19:31

标签: excel excel-vba vba

我正在尝试创建一个工作簿,允许我从源工作簿中提取数据以创建"快照"测试数据的各种指标。我用vLookUp完成了这个。

然而我的目标;是我想创建一个更新按钮和字段,以便我可以修改快照上的单元格并在源工作表上更新它们。 (都在同一个工作簿中)

我尝试使用带有Marco的更新按钮,但它只更新了一个单元格(不是可以使用vLookUp从命名列表中提取的可变单元格范围。)我没有在Excel中使用VBA或Marcos可能是4年,所以我可能会遗漏一些简单的东西。我一直在做一些刷新训练,但是还没有能够解决这个问题。

我试图修改我录制的宏:

  Range("G8").Select
    Selection.Copy`enter code here`
    Sheets("Dashboard").Select
    Range("K3").Select
    ActiveSheet.Paste

。通过

Sub Update_Click()
    Dim varRange As Range
    varRange = "=VLOOKUP(C5,Dashboard!A3:W57,11,FALSE)"
    Range("G8").Select
    Selection.Copy
    Sheets("Dashboard").Select
    Range("varRange").Select
    ActiveSheet.Paste
End Sub

另一种方法是创建一个新列,可以识别vLookUp引用的源单元格的列和行。(不是命名列表单元格,我需要在vLookUp的表数组中引用的单元格)然后我应该能够将该参考单元与原始宏(我认为)

一起使用

我尝试过使用= CELL(" col",VLOOKUP(C5,Dashboard!A3:W57,11,FALSE))但它出错了。

1 个答案:

答案 0 :(得分:0)

您应该找到公式

找到的值
Sub Update_Click()
    Dim LookedValue As String
    Dim varRange As Range
    LookedValue = Evaluate("=VLOOKUP(C5,Dashboard!A3:W57,11,FALSE)")
    Set varRange = Range("A3:W57").Find(LookedValue)
    Range("G8").Copy Destination:=Sheets("Dashboard").Range(varRange.Address)
End Sub
OT:我觉得你有点困惑,你应该搜索范围如何工作; “评估” - 在lookvalue-tips中使用的函数以及如何避免选择。