相邻列中的Excel下拉显示值

问题描述 投票:0回答:1

该代码适用于第3列,但是当我为第10列添加多余的行时,它不起作用。我希望能够在同一工作表上的多个不同列上运行此命令。谢谢。

Private Sub Worksheet_Change(ByVal Target As Range)
selectedNa = Target.Value
If Target.Column = 3 Then
    selectedNum = Application.VLookup(selectedNa, Worksheets("Risk Dropdowns").Range("B3:C30"), 2, False)

If Target.Column = 10 Then
    selectedNum = Application.VLookup(selectedNa, Worksheets("Risk Dropdowns").Range("E3:F30"), 2, False)

        If Not IsError(selectedNum) Then
            Target.Value = selectedNum
        End If
    End If
End If

End Sub
excel vba dropdown vlookup
1个回答
0
投票
Private Sub Worksheet_Change(ByVal Target As Range)

    Dim selectedNA As Variant
    selectedNA = Target.Value

    On Error GoTo safeout
    Application.EnableEvents = False
    Dim selectedNum As Variant
    If Target.Column = 3 Then
        selectedNum = Application.VLookup(selectedNA, Worksheets("Risk Dropdowns").Range("B3:C30"), 2, False)
    ElseIf Target.Column = 10 Then
        selectedNum = Application.VLookup(selectedNA, Worksheets("Risk Dropdowns").Range("E3:F30"), 2, False)
    End If
    If Not selectedNum Is Nothing Then
        If Not IsError(selectedNum) Then
            Target.Value = selectedNum
        End If
    End If

safeout:
    Application.EnableEvents = True

End Sub
© www.soinside.com 2019 - 2024. All rights reserved.