私はExcel VBA UserForm
にスクリプトを書いています。このフォームには、ユーザーが記入する3つのフィールド(ComboBox
)があります。私はComboBox 3
の内容をCombobox2
に入力されたものに依存させたいと思っています。次のようにComboBox Excel VBAをフリーズする方法
ComboBox2
が移入さ:
With ComboBox2
.AddItem "Legal Information"
.AddItem "Media"
.AddItem "Official Disclosures"
.AddItem "Patents and Trademarks"
.AddItem "Private Corporate Information"
.AddItem "Private Individual Information"
.AddItem "Property Information"
.AddItem "Public Company Information"
.AddItem "Public Tenders"
.AddItem "Ships, Vessels and Aircraft Information"
.AddItem "Watchlists/Blacklists"
End With
ComboBox2
でどのようなユーザ入力に応じて、ComboBox3
は異なるオプションによって移入されます。私は、次のようなやっている:
Private Sub ComboBox2_Change()
Dim index As Integer
index = ComboBox2.ListIndex
ComboBox3.Clear
Select Case index
Case Is = 0
With ComboBox3
.AddItem "Administrative"
.AddItem "Civil"
.AddItem "Criminal"
End With
Case Is = 1
With ComboBox3
.AddItem "Arts and Culture"
.AddItem "Blog/Social Media"
.AddItem "Business and Economics"
.AddItem "General News"
.AddItem "Intelligence and Security"
.AddItem "Official News Agency/Official Press"
.AddItem "Energy"
.AddItem "Pharmaceutical and Medical News"
.AddItem "Politics"
.AddItem "Religion"
.AddItem "Society, Lifestyle and Opinion"
.AddItem "Sport"
End With
End Sub
ComboBox3
を凍結させるために、私はケースにComboBox2
のオプションのいずれかの他が選択され、記入するユーザーのために不可能、すなわち、たい - イベントにCase is = 2, 3, 4, 5, 6, 7, 8, 9, 10
。私はこれをどうすればよいのですか?ありがとうございました。
'ComboBox3.Enabled = False'? – CMArg
.lockedを使用してロックするか、または使用可能にすることができます。 –
FWIW 'Case Is = 0'は、より簡単に' Case 0'として書き込むことができます。 –