|
また、わからないことが出てきましたので、教えてください。
前の表にさらに項目を追加し、次のように変更しました。
A B C D
1 東京都 渋谷区 1丁目 番地
2 東京都 世田谷区 2丁目 マンション名
3 東京都 新宿区 3丁目 号室
4 東京都 4丁目
5 東京都 5丁目
6 東京都 6丁目
7 茨城県 つくば市 1丁目 マンション名
8 茨城県 水戸市 2丁目 号室
9 茨城県 ひたちなか市
. . .
. . .
. . .
コンボボックスの下に、3つのテキストボックスを配置します。
ラベルは、ラベル4、ラベル5、ラベル6、テキストボックスはテキストボックス4
テキストボックス5、テキストボックス6とします。
ラベルの表示が東京都と茨城県では違うので、これもコンボボックス1で
選択された内容に応じてラベルの表示を変更したいと思います。
そこで、次のコードを加えました。
Private Sub ComboBox1_Change()
Dim func_str As String
Dim StrLabel As String
func_str = "=if(a1=""" & ComboBox1.Text & _
""",if(b1="""","" "",b1),"""")"
Call set_combo_item(ComboBox2, func_str)
func_str = "=if(a1=""" & ComboBox1.Text & _
""",if(c1="""","" "",c1),"""")"
Call set_combo_item(ComboBox3, func_str)
StrLabel = ComboBox1.Text
Select Case StrLabel
Case "東京都"
Label4 = "番地"
Case "茨城県"
Label4 = "マンション名"
End Select
StrLabel = ComboBox1.Text
Select Case StrLabel
Case "東京都"
Label5 = "マンション名"
Case "茨城県"
Label5 = "号室"
End Select
StrLabel = ComboBox1.Text
Select Case StrLabel
Case "東京都"
Label6 = "号室"
End Select
End Sub
上記のコードでも動作はできるのですが、実際の内容はA列の項目が2つではなく
もっと沢山あるので、コードが長くなってしまいます。
そこで、もっと簡潔にまとめる方法があれば教えてください。
また、テキストボックス6が不要の時(上記の場合はコンボボックス1が茨城県
の時は不要)は非表示にする方法がありましたら、あわせて教えてください。
よろしくお願いします。
|
|