VBA下拉列表onchange

时间:2017-02-23 18:50:53

标签: excel-vba onchange vba excel

嗨我想知道它是否可行:目前我在 sheet1 上有一个下拉列表,其中包含使用数据验证从 sheet2 中提取的名称列表。 该下拉列表旁边的单元格使用 sheet2 中的VLOOKUP填充了电话号码。
我的问题:我是否可以使用VBA,以便每次下拉列表中的更改时,旁边的单元格都会从 SHEET2 中的数据中填充?请记住,选择正确的电话号码需要选择的值。

为什么我会问我的文件是否有效?因为任何人都可能会意外删除VLOOKUP公式而我无法保护它,因为它是一个使用多个不同宏的共享文档。

1 个答案:

答案 0 :(得分:1)

这样的东西? (来源:https://support.microsoft.com/en-us/help/213612/how-to-run-a-macro-when-certain-cells-change-in-excel

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim KeyCells As Range

    ' The variable KeyCells contains the cells that will
    ' cause an alert when they are changed.
    Set KeyCells = Range("A1")

    If Not Application.Intersect(KeyCells, Range(Target.Address)) _
       Is Nothing Then

    ' Display a message when one of the designated cells has been
    ' changed.
    ' Place your code here.
    Range("B1").Formula = "=VLookup(A1,LookupTable,2,FALSE)"

    End If
End Sub