Forum Discussion
hiro2234
Dec 12, 2023Copper Contributor
エクセルで選択フォームを入れたい
https://search.yahoo.co.jp/search?ei=UTF-8&rkf=1&slfr=1&qrw=0&p=%E3%82%A8%E3%82%AF%E3%82%BB%E3%83%AB&fr=link_kw_cbr_direct&fr2=cid_14290249204.で選択フォームを作りたいのですが。 https://search.yahoo.co.jp/search?ei=...
NikolinoDE
Dec 14, 2023Platinum Contributor
Excelで選択フォームを作成し、横一列に並んだ選択肢から1つだけ選べるようにするには、オプションボタン(ラジオボタン)を使用します。以下に手順を示します。
ステップ1: オプションボタンの挿入
- 開発ツールの有効化:
- Excelのメニューから「ファイル」 > 「オプション」 > 「リボンの表示」を選択して、「開発ツール」を有効化します。
- オプションボタンの挿入:
- 「開発」タブに移動し、「挿入」グループから「オプションボタン」を選択します。
- シート上に横一列にオプションボタンを配置します。各ボタンには異なるラベルを設定します。
ステップ2: グループ化
- オプションボタンのグループ化:
- オプションボタンをまとめてグループ化します。これにより、同じグループ内では1つだけが選択できるようになります。
- 各オプションボタンを選択し、右クリックして「グループ化」を選択します。
ステップ3: イベントマクロの作成
- VBAエディタの起動:
- 「開発」タブから「マクロ」を選択し、「新規作成」をクリックしてVBAエディタを開きます。
- イベントマクロの作成:
- VBAエディタで、シートのオブジェクトを開きます。
- シートのオブジェクトに、次のようなマクロを追加します。
Vba code (コードはテストされていません):
Private Sub Worksheet_Change(ByVal Target As Range)
Dim optButton As OptionButton
Dim selectedCount As Integer
' 選択されたオプションボタンの数をカウント
For Each optButton In Me.OptionButtons
If optButton.Value = xlOn Then
selectedCount = selectedCount + 1
End If
Next optButton
' 選択されたオプションボタンが1つ以上あれば、それ以外のボタンを非選択にする
If selectedCount > 1 Then
For Each optButton In Me.OptionButtons
If optButton.Value = xlOn And optButton.Name <> Target.Name Then
optButton.Value = xlOff
End If
Next optButton
End If
End Sub
- このマクロは、選択されたオプションボタンが1つ以上ある場合、それ以外のボタンを非選択にします。
ステップ4: イベントマクロの有効化
- シートに戻り、イベントマクロの有効化:
- シートに戻り、イベントマクロを有効にします。
- シート上で右クリックし、「シートのコードの表示」を選択します。
- 「Worksheet_Change」のイベントマクロが表示され、有効になっていることを確認します。
これで、オプションボタンをクリックして選択すると、同じグループ内では1つだけが選択され、他のボタンは非選択になります。
テキスト、ステップ、コード、翻訳は AI の助けを借りて作成されました。
これがお役に立てば幸いです。
回答は役に立ちましたか? ベストレスポンスとしてマークして、いいね!
これはフォーラム参加者全員に役立ちます。