我有一个下拉列表,我可以在其中选择一个人的全名,当我选择一个名字时,它应该在单元格中显示缩写。
我以某种方式得到了这个工作,但我现在的问题是我希望能够拖动以填充到其他单元格。
稍微调整我的代码,但我让它可以工作,但我仍然收到错误消息。
错误 13:类型不匹配
这是我正在使用的代码:
Private Sub Worksheet_Change(ByVal Target As Range)
selectedVal = Target.Value
If Target.Value = "" Then Exit Sub
selectedNum = Application.VLookup(selectedVal, Worksheets("Bestuurders").Range("Omschrijving"), 2, False)
If Not IsError(selectedNum) Then
Target.Value = selectedNum
End If
End Sub
我该怎么做才能确保我不会收到此错误消息?
我找到了一个可行的解决方案。这是我使用的代码。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub ' Voorkom meerdere celwijzigingen tegelijk
Dim selectedVal As String
selectedVal = Target.Value
If selectedVal = "" Then Exit Sub
Dim wsBestuurders As Worksheet
Set wsBestuurders = Worksheets("Bestuurders")
Dim selectedNum As Variant
selectedNum = Application.VLookup(selectedVal, wsBestuurders.Range("Omschrijving"), 2, False)
If Not IsError(selectedNum) Then
Application.EnableEvents = False ' Schakel gebeurtenissen tijdelijk uit om een oneindige lus te voorkomen
Target.Value = selectedNum
Application.EnableEvents = True ' Schakel gebeurtenissen weer in
End If
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
' Voorkom dat de code wordt uitgevoerd bij dubbelklikken
Cancel = True
End Sub