入力されたかどうか、オプションボタンが選択されたかどうかをチェックして、OKなら次の入力にすすむとゆうプログラムを作りたいのですが、今回の場合、optAとoptBとoptCとがあり選択されたらcmbAとcmbBの入力(選択)を許可するとゆうプログラムを作りたいのです。簡単に
If optA.Value = False And optB.Value = False And・・・
とゆうやり方はあると思うのですが、数が増えたときのためにもっと効率よくしたいのです。ネットには、
ユーザフォーム上に配置された各コントロールの入力チェックを行う段階でオプションボタンの値を効率的にチェックするには、フレームコントロール配下のControlsプロパティーから取得されるコレクションから各オプションボタンを取得し、Valueプロパティーを評価します。
'====================================================================
(For Each ループのネストによる手法)
※他のコントロールの評価も同時に行うことを想定しています
'フレーム数とTrueであったオプションボタンの個数とを比較
'OKが表示されない場合は未選択のオプショングループあり。
'=====================================================================
また、フレームの数分だけのループを指定して入力チェックを行う場合は・・・
======================================================================
(Controlsコレクションのインデックスからフレーム内のコントロールにアクセスする手法)
と書いてあったのですが、初心者なものでよくわかりませんでした。この方法を詳しく解説もしくわ、他によい方法があればよろしくお願いします。
No.1ベストアンサー
- 回答日時:
起動時に(最初)オプションボタンは全て未選択状態に初期化されているとしています。
下は例ですが、For Each で TypeName を使いオプションボタンを特定すれば、何個あってもいいはずです。
調べるきっかけはコマンドボタンにしてみました。ご参考に。
Private Sub Command1_Click()
Dim myCtrl As Control 'コントロール
Dim ChkFlg As Boolean 'オプションボタンを押してあるか
'オプションボタンを調べる
For Each myCtrl In Controls
If TypeName(myCtrl) = "OptionButton" Then
If myCtrl.Value Then
ChkFlg = True
End If
End If
Next
'調べた結果
If ChkFlg Then
cmbA.Enabled = True
cmbB.Enabled = True
End If
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- Access(アクセス) チェックボックスにチェックが入った後の挙動 1 2022/08/21 12:39
- JavaScript javaScriptで画面に値を入れるには 1 2022/08/14 12:27
- その他(Microsoft Office) EXCELでバーコードを作成すると白くなってコードが見えません 1 2022/04/04 14:24
- モニター・ディスプレイ windows10 モニタに表示されなくなった 2 2023/08/04 16:58
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- Excel(エクセル) EXCEL ActiveX コマンドボタンで実行する前にいったんmsgBoxで確認を求めたい 1 2022/07/06 19:41
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
エクセルVBA オプションボタンのチェックを外したい
Excel(エクセル)
-
エクセルVBAでOptionButtonのオンオフ取得
Excel(エクセル)
-
vba listviewにおけるtextのAlingmentを中央にしたい
Excel(エクセル)
-
-
4
ACCESSでコントロールソースの変更
Access(アクセス)
-
5
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
6
Excel ラジオボタンのリセットを作りたい
Excel(エクセル)
-
7
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
8
Chr(13)とChr(10)の違いは?
PowerPoint(パワーポイント)
-
9
リストボックスの列幅をドラッグで変更したい
Access(アクセス)
-
10
エクセルVBAで、値が入っている最終行の、右隣の値をコピーして、別のセルに貼り付けるコード
Excel(エクセル)
-
11
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
12
【Excel VBA】指定行以降をクリアするには?
Visual Basic(VBA)
-
13
Excelシート上のオプションボタンを監視
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA シートのボタン名を変更し...
-
VBA(エクセル)で自動的にボタン...
-
フォームの再読み込み
-
VBAのボタンの位置が変わって困...
-
ボタン上にビットマップ、アイ...
-
VBA CommandButtonの文字ずれ
-
ユーザーフォームに別シートか...
-
ExcelVBAでユーザーフォームで...
-
VBA でのボタンの移動について
-
C#で動的に作ったtextboxを消す。
-
見えないボタンを作って、押さ...
-
EXCEL2003 オプションボタン複...
-
ボタンをマウスで押し続けたと...
-
プロシージャからイベントをコ...
-
.NET(VB)でボタンの連打を防止...
-
VB.NETです ラジオボタンの文...
-
タイマーがいきなり動き出すん...
-
VB.NETでマウスクリックイベン...
-
ユーザーフォーム中の入力順番...
-
Button(コントロール)を半透明...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA シートのボタン名を変更し...
-
VBA(エクセル)で自動的にボタン...
-
フォームの再読み込み
-
ユーザーフォームに別シートか...
-
VBA CommandButtonの文字ずれ
-
セルをマクロのボタンにしたい。
-
Excel VBA Application.caller...
-
コマンドボタンやイメージにマ...
-
Access VBA でデータペーストを...
-
VBAのボタンの位置が変わって困...
-
ボタンをマウスで押し続けたと...
-
ボタン
-
C#プログラムで、ボタンをショ...
-
VBA でのボタンの移動について
-
閉じると「+」になり開くと「-...
-
ダウンロードダイアログをVB...
-
[Excel VBA]コマンドボタンの入...
-
ASP.Net ラベルの内容をすぐに...
-
プロシージャからイベントをコ...
-
CommandButtonのCaptionを変化...
おすすめ情報