昨日も質問させていただいたものです。
オプションボタンの使い方について質問があります。
コマンドボタン1つ、テキストボックスを1つ、ラベルを一つ、
フレームを二つ用意し、それぞれのフレームに3つずつオプションボタンを配置します(●フレームA、B●オプションA1、A2、A3、オプションB1、B2、B3とする)。
オプションA1~3には1~3年生というキャプションを、
オプションB1~3には1~3組というキャプションを設定します。
テキストに名前を打ちこんでコマンドボタンを押すと、
ラベルに(テキストが太郎の場合)"太郎は3年1組です"
と表示されるようなものを作ろうと考えています。
コマンドボタンを使用せずに、オプションボタンのみで作ると
Privat Sub OptionA1_Click()
If OptionB2.Valrue=True Then
Label1.Caption=""
と言うような感じで何個も書けば良いと思うのですが、
これにをコマンドボタンで実行させようとすると方法がわかりません。
アドバイスお願いします。
No.1ベストアンサー
- 回答日時:
とりあえず、基本的な命令で書くとこんなかんじになると思います。
Private Sub CommandButton1_Click()
Dim nen As String
Dim kumi As String
If TextBox1.Text = "" Then
MsgBox ("氏名が入力されてません")
Exit Sub
End If
If op1 = True Then
nen = "1年"
Else
If op2 = True Then
nen = "2年"
Else
If op3 = True Then
nen = "3年"
Else
MsgBox ("年が指定されていません")
Exit Sub
End If
End If
End If
If op4 = True Then
kumi = "1組"
Else
If op5 = True Then
kumi = "2組"
Else
If op6 = True Then
kumi = "3組"
Else
MsgBox ("組が指定されていません")
Exit Sub
End If
End If
End If
label1 = TextBox1.Text & "は" & nen & kumi & "です"
End Sub
レスありがとうございました。
初心者の私にもとてもわかりやすかったです。
これから一生懸命勉強します。
またよろしくお願いします。
No.3
- 回答日時:
仕様ではオプションボタンを6つ必要ですが、そのボタン全てにOp1~Op6までの名前を付けていては大変です。
質問でも書いてあった通り、このままではコーディングの時、一つ一つのボタンについてのTrue/Falseの調査ロジックが必要です。なので、Op1とOp2で済むようにしましょう。
コントロールを配列にしてしまうのです。
オプションボタンのプロパティに[Index]っていうのがありますよね?それを使用します。
以下の処理を手順どおりにデザインで行ってください。
フレーム1の中で・・・
1.[Name]Option1を、[Index]を'0'にしてください。
2.[Name]Option2を、[Name]をOption1、[Index]を'1'にしてください。
3.[Name]Option3を、[Name]をOption1、[Index]を'2'にしてください。
[
フレーム2の中で・・・
4.[Name]Option4を、[Name]をOption2、[Index]を'0'にしてください。
5.[Name]Option5を、[Name]をOption2、[Index]を'1'にしてください。
6.[Name]Option6を、[Name]をOption2、[Index]を'2'にしてください。
できたら、それぞれのキャプションを設定してください。
7.[Name]Option1・[Index]0を、[Caption]を'1年生'
8.[Name]Option1・[Index]1を、[Caption]を'2年生'
9.[Name]Option1・[Index]2を、[Caption]を'3年生'
10.[Name]Option2・[Index]0を、[Caption]を'1組'
11.[Name]Option2・[Index]1を、[Caption]を'2組'
12.[Name]Option2・[Index]2を、[Caption]を'3組'
13.コマンドボタンを用意してください[Name]Command1
で次のプログラムを実行してみてください
Private Sub Command1_Click()
Dim wkGAKUNEN As String '学年
Dim wkKUMI As String '組
With Me
'フレーム1(学年)についての調査
wkGAKUNEN = getSelectOptionButtonCaption(.Option1)
If wkGAKUNEN = "" Then
MsgBox "学年が選択されてない"
Exit Sub
End If
'フレーム2(組)についての調査
wkKUMI = getSelectOptionButtonCaption(.Option2)
If wkKUMI = "" Then
MsgBox "組が選択されてない"
Exit Sub
End If
'イミディエイトウィンドウへ出力
Debug.Print wkGAKUNEN & ":" & wkKUMI
End With
End Sub
'【機能】コントロール配列のオプションボタンの中で選択されているボタンのキャプションを得る
'【注意】制限として、オプションボタンはコントロール配列(インデックスを持つコントロール)であること
Private Function getSelectOptionButtonCaption(inOptionButton As Object) As String
Dim OpBtn As OptionButton
For Each OpBtn In inOptionButton
If OpBtn Then
'もし選択されていたら、その学年を記憶しループを抜ける
getSelectOptionButtonCaption = OpBtn.Caption
Exit For
End If
Next OpBtn
End Function
レスありがとうございます。
私はまだ、配列とかループとかってのを
勉強してないので、チョト難しかったです。
でも、これからがんばります。
丁寧な回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA シートのボタン名を変更し...
-
VBA(エクセル)で自動的にボタン...
-
アイコンとボタンの違い
-
[VB.NET]3つ以上のフォームを一...
-
ボタンの表示を改行表示したい
-
教えてボタンの作り方について
-
VBA CommandButtonの文字ずれ
-
C# フォームを横にずらす
-
セルをマクロのボタンにしたい。
-
VB.NETでマウスクリックイベン...
-
コマンドボタンやイメージにマ...
-
VBA MsgBoxで、”いいえ(No)”ボ...
-
Excel VBAでの図形削除について...
-
バックスペース機能の作り方
-
ユーザーフォーム中の入力順番...
-
Excel VBA Application.caller...
-
回数のカウント
-
エクセルVBAでユーザーフォーム...
-
VBのデータグリッドビューで分析
-
プロシージャからイベントをコ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA シートのボタン名を変更し...
-
VBA(エクセル)で自動的にボタン...
-
ユーザーフォームに別シートか...
-
VBA CommandButtonの文字ずれ
-
フォームの再読み込み
-
アイコンとボタンの違い
-
VBAのボタンの位置が変わって困...
-
閉じると「+」になり開くと「-...
-
Excel VBA Application.caller...
-
Access VBA でデータペーストを...
-
セルをマクロのボタンにしたい。
-
コマンドボタンやイメージにマ...
-
VBAでオプションボタンによって...
-
ボタンをマウスで押し続けたと...
-
[Excel VBA]コマンドボタンの入...
-
VBA IE ダウンロード ダイアロ...
-
プロシージャからイベントをコ...
-
チェックボックスで指定出来る...
-
+ボタンの名称は?
-
VBA でのボタンの移動について
おすすめ情報