• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBAでユーザーフォーム)

エクセルVBAでユーザーフォーム上のオプションボタンの制御方法

このQ&Aのポイント
  • エクセルVBAを使用してユーザーフォーム上にオプションボタンとコンボボックスを配置し、オプションボタンをクリックした場合のコンボボックスの制御方法について質問します。
  • 質問者は既にコンボボックスの動きについてVBAコードを書いているが、もっと簡単な方法があるのではないかと思っています。
  • 回答者にはエクセルVBAの知識が求められます。

質問者が選んだベストアンサー

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1742/2617)
回答No.1

以下のような書き方もあります。 Dim i As Integer For i = 1 To 3 Me.Controls("ComboBox" & i).Enabled = True Me.Controls("ComboBox" & i).ListIndex = 0 For i = 4 To 6 Me.Controls("ComboBox" & i).Enabled = False Me.Controls("ComboBox" & i).ListIndex = 0 Next

mocodne
質問者

お礼

こんな素晴らしい方法があったのですね! 助かります。ありがとうございました。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.2

参考にしてください。質問者の場合に使えるかな。 Sub UserForm_Click() For Each cl In UserForm1.Controls cl.RowSource = "a1:A3" 'リストするデーター>シートのセルの場合 cl.ListIndex = 0 '当初は一番上 i = Val(Replace(cl.Name, "ComboBox", "")) 'コントロールの名前の部分は省く If i < 4 Then cl.Enabled = True Else cl.Enabled = False End If Next End Sub ーー ComboBoxのBは大文字。

mocodne
質問者

お礼

ありがとうございます。

関連するQ&A