我正在Excel VBA中編寫腳本,我在Userform
中工作。在這Userform
,我有兩個ComboBox
,ComboBox1
和ComboBox4
。 ComboBox
都是在腳本中填充的下拉列表。組合框選擇不出現在第一次單擊Excel VBA
我已經使ComboBox4
得到填充,並取決於ComboBox1
上的用戶輸入。我寫了下面的代碼:
Private Sub UserForm_Activate()
With ComboBox1
.AddItem "Afghanistan"
.AddItem "Åland Islands"
.AddItem "Albania"
.AddItem "Algeria"
.AddItem "American Samoa"
.AddItem "Andorra"
End With
With ComboBox4
.AddItem "Africa"
.AddItem "Americas"
.AddItem "Asia"
.AddItem "Europe"
.AddItem "MENA"
.AddItem "Other"
End With
End Sub
Private Sub ComboBox1_Change()
If ComboBox1 = "" Then
ComboBox4 = vbNullString: ComboBox4.Enabled = True
Else
Dim index As Integer
index = ComboBox1.ListIndex
Select Case index
Case Is = 0
ComboBox4.Value = "Asia"
ComboBox4.Enabled = False
Case Is = 1
ComboBox4.Value = "Europe"
ComboBox4.Enabled = False
Case Is = 2
ComboBox4.Value = "Europe"
ComboBox4.Enabled = False
Case Is = 3
ComboBox4.Value = "MENA"
ComboBox4.Enabled = False
Case Is = 4
ComboBox4.Value = "Asia"
ComboBox4.Enabled = False
Case Is = 5
ComboBox4.Value = "Europe"
ComboBox4.Enabled = False
End Select
End If
End Sub
一切似乎工作正常。唯一的問題是ComboBox1
有一個奇怪和令人討厭的行爲:每當我打開Userform
並從ComboBox1
的下拉列表中選擇一個選項或開始鍵入它時,它不會選擇該選項或鍵入該字母,除非我這樣做兩次。所以,如果我從列表中選擇一個選項,它將保持空白,直到我再次選擇它;如果我開始輸入,我輸入的第一個字母就不會出現,只有那些來自第二個輸入的字母。
我不明白髮生了什麼事情,並且對它進行了研究,儘管沒有成功。感謝您的幫助!
我想用'combobox2'你的意思'combobox4'?這對我來說似乎很好。這是完整的代碼嗎? – MiguelH
對不起,是的。 'ComboBox4'。這是完整的代碼。 – franciscofcosta