Forum Discussion

hiro2234's avatar
hiro2234
Copper Contributor
Dec 12, 2023

エクセルで選択フォームを入れたい

エクセル.で選択フォームを作りたいのですが。

一列の中に選択肢があってその中の1つしかチェックできないようにしたいのです (図の各色選択肢の中で1つ選んでほしいという意味)

項目はもっとずっと数が多くなりますが、全て横位一列に並んでいる選択肢の中から 選べるようにしたいのです。フォームボタンで作ってみましたが、全部のうちの1つしか選べなくなってしまって・・・。(図の4色の選択肢全部の1つしかチェックできず)どのように設定したらよいですか?

 

 

  • NikolinoDE's avatar
    NikolinoDE
    Gold Contributor

    hiro2234 

    Excelで選択フォームを作成し、横一列に並んだ選択肢から1つだけ選べるようにするには、オプションボタン(ラジオボタン)を使用します。以下に手順を示します。

    ステップ1: オプションボタンの挿入

    1. 開発ツールの有効化:
      • Excelのメニューから「ファイル」 > 「オプション」 > 「リボンの表示」を選択して、「開発ツール」を有効化します。
    2. オプションボタンの挿入:
      • 「開発」タブに移動し、「挿入」グループから「オプションボタン」を選択します。
      • シート上に横一列にオプションボタンを配置します。各ボタンには異なるラベルを設定します。

    ステップ2: グループ化

    1. オプションボタンのグループ化:
      • オプションボタンをまとめてグループ化します。これにより、同じグループ内では1つだけが選択できるようになります。
      • 各オプションボタンを選択し、右クリックして「グループ化」を選択します。

    ステップ3: イベントマクロの作成

    1. VBAエディタの起動:
      • 「開発」タブから「マクロ」を選択し、「新規作成」をクリックしてVBAエディタを開きます。
    2. イベントマクロの作成:
      • 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: イベントマクロの有効化

    1. シートに戻り、イベントマクロの有効化:
      • シートに戻り、イベントマクロを有効にします。
      • シート上で右クリックし、「シートのコードの表示」を選択します。
      • 「Worksheet_Change」のイベントマクロが表示され、有効になっていることを確認します。

    これで、オプションボタンをクリックして選択すると、同じグループ内では1つだけが選択され、他のボタンは非選択になります。

     

    テキスト、ステップ、コード、翻訳は AI の助けを借りて作成されました。

     

      これがお役に立てば幸いです。

     

    回答は役に立ちましたか? ベストレスポンスとしてマークして、いいね!

    これはフォーラム参加者全員に役立ちます。

Resources