我的问题是从UserForm中的下拉列表(ComboBox)中选择一个国家/地区,我的文本框没有显示任何输出。什么都没发生。文本框应该在ComboBox中选择的任何值上执行VLookUp。 ComboBox(名称)是"国家"。
其中一个TextBox的代码:
Private Sub TextBox2_Change()
Dim myRange As Range
Set myRange = Worksheets("All Countries Validation").Range("A:R")
TextBox2.Value = Application.WorksheetFunction.VLookup(Country.Value, myRange, 2, False)
答案 0 :(得分:2)
您必须使用Country_Change()
事件处理程序而不是TextBox2_Change()
一个
Option Explicit
Private Sub Country_Change()
Dim myRange As Range, f As Range
Set myRange = Worksheets("All Countries Validation").Range("A:A")
Set f = myRange.Find(What:=Country.Value, LookIn:=xlValues, Lookat:=xlWhole, MatchCase:=False) '<--| try and find combobox selected value
If f Is Nothing Then '<--| if not found ...
TextBox2.Value = "" '<--| ... then clear textbox
Else'<--| ... otherwise...
TextBox2.Value = f.Offset(, 1) '<--| ... fill it with proper value
End If
End Sub