• ベストアンサー

VB  グループ化?

VisualBasicを最近始めました。 初歩的な質問でスイマセン。 オプションボタンを複数作リました。 オプションボタンAにチェックを入れたまま、オプションボタンBにチェックを入れようとするとAのチェックが消えてしまいます。 調べてみると、フォームの上に直接ではなく、フレームを一度作成しその上にオプションボタンを置くと良いとあったのでやってみたのですが うまく行きません。 どうしたらよいでしょうか。 よろしくお願いします。

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

  • ベストアンサー
  • gokkun
  • ベストアンサー率47% (115/244)
回答No.1

複数同時選択を可能にするのでしたら「CheckBox」を 使った方が良いと思うのですが? 「OptionButton」でやろうとしたら次のようにすれば 出来ると思います。 ただし、「OptionButton」の場合1度選択してしまうと 非選択状態にすることは出来ません。 1.Frame1を貼り付ける。   ┏━━━━━┓   ┃┏Frame1┓┃   ┃┃   ┃┃   ┃┗━━━┛┃   ┃     ┃   ┃     ┃   ┃     ┃   ┗━━━━━┛ 2.O(ption)B(utton)1を貼り付ける。   ┏━━━━━┓   ┃┏Frame1┓┃   ┃┃oOB1 ┃┃   ┃┗━━━┛┃   ┃     ┃   ┃     ┃   ┃     ┃   ┗━━━━━┛ 3.Frame1を選択し右クリックでコピー後貼り付ける。   ┏━━━━━┓   ┃┏Frame1┓┃   ┃┃oOB1 ┃┃   ┃┗━━━┛┃   ┃┏Frame1┓┃   ┃┃oOB1 ┃┃   ┃┗━━━┛┃   ┗━━━━━┛

kogashiman
質問者

お礼

やはりチェックで考えることにしました。 回答どうもありがとうございました。 今後ともよろしくお願いします。

kogashiman
質問者

補足

早速の回答有難う御座います。 >複数同時選択を可能にするのでしたら「CheckBox」を >使った方が良いと思うのですが? 仰る通りです。はい。 でもなんでオプションボタンでは出来ないようになってるんですかねぇ? gokkunさんの言われた通りやったら出来ましたが、 やはり、非選択状態に戻せる方法が知りたいので、 ポイントの方はもうしばらくお待ち頂けますか? 勝手を言って申し訳ありません。

その他の回答 (1)

  • ponnta
  • ベストアンサー率17% (31/179)
回答No.2

オプションボタンは複数の項目から1つを選択させる為のボタン チェックボックスは項目一つ一つにたいして有効/無効を選択させるためのボタン と割り切って使いましょう

kogashiman
質問者

お礼

そうですね。 そう言う考えが大切なのかもしれませんね。

関連するQ&A

  • VB.NETとEXE

    VB.NETで作成したフォーム(仮にメインフォームとします)にコマンドボタンを複数貼り付けています。 各コマンドボタンをクリックすると、それぞれの別のEXEが起動します。 (例 コマンドAをクリックすると、EXE-Aが起動、コマンドBをクリックするとEXE-Bが起動。両方一度に起動も可) この時、必ずメインフォームの上にEXEのフォームが重なるように表示されています。 そこで質問があります。 1、複数EXEが起動されている時、一番前面に表示されているEXEを識別する方法はありますか? 「現在アクティブなEXE」とは異なります。なぜなら、メインフォームをクリックすると、前面に表示されているEXEはアクティブな状態とはならないためです。 2、メインのフォームの右上にある「最大化」や「最小化」のボタンをクリックしたら、それに連動してEXEも最大化や最小化をするようにすることは可能でしょうか? すこしわかりにくいと思いますが、補足もしますので、アドバイスよろしくお願いします。

  • ユーザーフォーム上のボタンの使い方

    今、VBAの本とインターネットで調べながら初めてユーザーフォームを作成中ですが、 どうしてもわからないことがあり、ご質問させていただきました。 初歩的なことかも知れませんが、ご教授よろしくお願い致します。 1.オプションボタンを二つ作成しました。  一方を選択した場合、フレーム全体をグレーアウトに  することはできますか。  例)ユーザーフォーム上のオプションボタン  A:住所登録   (郵便番号・所在地等を入力)  B:電話番号登録 (電話番号を入力) ※Bをオプションボタンで選択した場合、Aのフレーム全体を  グレーアウト(入力禁止)にすることはできますか。 2.ComboBoxで"年"、"月"、"日"それぞれプルダウンで選択できるように  したのですが、ワークシートに反映する時、同一セルに入力するか、  それらの数字を認識して日付として一つのセルに表示することはできますか。  例)ユーザーフォーム上    2007▼年   4▼月  19▼日  ※一つのセルに“2007年4月19日”と表示することはできますか。 3.2.の続きで、"年"、"月"、"日"すべて選択している場合、  チェックボックスにチェックが入り、どれか一つでも空白の場合は  チェックボックスがグレーアウトしている、という状態はできますか。 4.ユーザーフォームで入力した内容がExcel上にどんどん   追加していく時のマクロはどのように記述したらいいのですか。  (ユーザーフォームに入力した内容を、セルを指定せずにどんどん  追記していく方法) 質問が多くて申し訳ございませんが、よろしくお願い致します。

  • アクセス-オプションボタンのグループ化

    オプションボタンをグループ化するのにフレームを使うのが普通だと思うのですが、フレームをフォーム上にセットして、ウィザードに従って、オプションボタンの値等を決めてます。 その後、フレームのイベント、 フレーム名_AfterUpdate を設定したのですが、オプションをどれをクリックしてもこのイベントが呼ばれることがないです。ウィザードに従ってつくれば、オプションをクリックすれば、 フレーム名.value が更新されて、 フレーム名_AfterUpdate が呼ばれるのではないのでしょうか? 私の設定方法が違うのでしょうか? アクセスではどのようにするのが普通なのでしょうか? ご存じのかたよろしくお願いします。 <<環境>> OS:Vista Access2007

  • VB6でMDIフォームを使用しています。

    VB6でMDIフォームを使用しています。 MDIフォームで下記プログラムを作成しました。 (1)ツールバー上のボタン1を押し、子フォームAを表示させました。   ※子フォームAの WindowState を「2-最大化」に事前設定し、ウィンドウは最大化して表示されました。 (2)子フォームAを表示した状態で、同じツールバー上にあるボタン2を押し、子フォームB(ダイアログ)を表示させました。   ※子フォームBの WindowState を「0-標準」、BorderStyleを「3-固定ダイアログ」に事前設定し、表示されました。(一般的なオプション画面みたいなもの) 問題点はその際、子フォームAのウィンドウが勝手に「最大化」から「標準」に変わってしまうことです。 これを回避する方法はないのでしょうか? 以上、宜しくお願いいたします。

  • QT5.3.2 複数のダイアログ表示について

    QT5.3.2 複数のダイアログ表示について質問がります まず自分の現在の環境は、 OSがLinuxのDebian 開発環境:QT5.3.2 で開発しています。最近仕事で始めるようになり ちょっと大きな壁に行き詰っていたので質問いたしました ・QT Disignerで複数のフォームを作成いたしました。仮にメインのフォームをA、サブ1のフォーム」  をB、サブ2のフォームをCとおきます メインのフォームの上半分を何もボタンなどおいておらず隙間を開けています そこで質問ですが、そこにフォームBやフォームCを表示・非表示したいと考えていますが どのようにおこなったらよいのかわかりませんよろしくお願いします ちなみに、VS2010 C++ MFCではフレームを置き、そこでダイアログの入れ替えを行っていた記憶がありますが、今回はどのようにしたらメインのフォームの上半分にほかで作成したフォームを表示するのかわかりません。 以上よろしくお願いします。  

  • VB2005でデバックをすると

    よろしくお願いします。 初歩的な質問なのですが、Windowsformを複数作成して、デバックをすると一番最初に作ったフォームだけ表示されるのですが、他のフォームを表示させようと思ったらどのようにすれば良いのでしょうか? Accessをデータベースにして、データテーブルごとにデザイナでフォームを作ったのですが、何か関係があるのでしょうか?

  • エクセルのチェックボックスとオプションボタンの連携?について

    エクセル内にチェックボックスとオプションボタンを作成していて 行き詰ってしまったので質問させてください。 例えば、下のようなデザインになっているとして、 Q1. □A □B (○C ○D)  ̄ ̄ ̄ ̄   ̄ ̄ ̄ ̄ ̄ ̄ ↑チェックボックス  ↑オプションボタン チェックボックスAとBのうち、Bにチェックを入れると 右にあるCとDのオプションボタンが選択可能になるという連携スタイルにすることは可能でしょうか? その場合は併せて、Aにチェックを入れた場合はCとDのオプションボタンが操作できなくなるようにもしたいのです。 どなたか教えて下さい。よろしくお願いします。

  • Access 2003 でフォームフィルターがかかりません。

    Access 2003 でフォームフィルターがかかりません。 どなたか助けてください。 アクセス初心者です。 フォームの詳細欄にチェックボックス(フィールド名:伝票チェック)を配置しております。 チェックの入っていないものを表示させたいです。 フォームヘッダーのオプショングループ(フレーム67)に オプションボタン0-オプション値0と オプションボタン2-オプション値2 の2個のオプションボタンを配置してあります。 クリック時のイベントプロシージャに以下のコードを書きました。 Private Sub フレーム67_Click() If Me!フレーム67 = 0 Then Me.Filter = 伝票チェック = 0 Me.FilterOn = True Else Me.Filter = "" Me.FilterOn = True End If End Sub 実行時エラーは出ませんが、データが何も表示されません。 どうすればいいのでしょう??? どなたかお願いします。

  • VBについて

    Visual Basicで1つのオブジェクトの中にフォームを2つ作った時、片方のフォームに入力した情報を処理し、もう1つのフォームでその結果を見るにはどうすれば良いのでしょうか?  例えば、1つのフォームにテキストボックスAとコマンドボタンを貼り付け、もうひとつにテキストボックスBを貼り付けて、テキストボックスAにXと入力し、コマンドボタンを押すとテキストボックスBにYと入力されるような事です。  分かる方、是非教えてください。

  • 画面上のカーソルの位置を取得(VB)

    教えて下さい。 開発環境:VB2008 作成した画面上に、Aテキスト、Bテキストという2つのテキスト入力エリアがあり、それぞれ 仕入先コード、品目コードを入力する形となっています。 但し、それぞれのデータ件数が多い事から、ハンド入力が難しく、もう1つ別のフォームを作成し、 別のフォームでテーブルから検索された結果を、そのもとのフォームの入力エリアに返したいと 考えています。 そこで、画面の下部に検索ボタンを設け、Aテキストにカーソルがある状態で検索ボタンを押された 場合は、仕入先マスタ検索のフォーム、Bテキストにカーソルがある状態で検索ボタンが押された場合は、 品目マスタの検索へというように、カーソルの位置で開くフォームを変えたいと考えています。 画面上のどちらのテキストが選択されているか?を取得するような事は可能なのでしょうか? 初歩的な質問で申し訳ありませんが、教えて下さい。