OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

オプションボタン

  • すぐに回答を!
  • 質問No.101110
  • 閲覧数231
  • ありがとう数3
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 87% (14/16)

昨日も質問させていただいたものです。
オプションボタンの使い方について質問があります。

コマンドボタン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=""

と言うような感じで何個も書けば良いと思うのですが、
これにをコマンドボタンで実行させようとすると方法がわかりません。

アドバイスお願いします。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.1
レベル8

ベストアンサー率 28% (17/60)

とりあえず、基本的な命令で書くとこんなかんじになると思います。
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
お礼コメント
kogashiman

お礼率 87% (14/16)

レスありがとうございました。
初心者の私にもとてもわかりやすかったです。
これから一生懸命勉強します。
またよろしくお願いします。
投稿日時 - 2001-07-08 14:46:50
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.2
レベル8

ベストアンサー率 12% (7/55)

# まず、これってVBですかね? >Privat Sub OptionA1_Click() ^  eがないのは入力ミスかな? >If OptionB2.Valrue=True Then ^  Valueですよね。   >Label1.Caption=""  ここで、Label1を空文 ...続きを読む
# まず、これってVBですかね?

>Privat Sub OptionA1_Click()
^
 eがないのは入力ミスかな?

>If OptionB2.Valrue=True Then
^
 Valueですよね。
 

>Label1.Caption=""

 ここで、Label1を空文字列にすることって何か意図が
あるのですか?
お礼コメント
kogashiman

お礼率 87% (14/16)

レスありがとうございます。
>まず、これってVBですかね?
 はい、そうです。書いてませんでしたね。すいません。
 それにしてもタイプミスばかりで・・・・・・
投稿日時 - 2001-07-08 14:50:06
  • 回答No.3
レベル12

ベストアンサー率 65% (276/422)

仕様ではオプションボタンを6つ必要ですが、そのボタン全てにOp1~Op6までの名前を付けていては大変です。 質問でも書いてあった通り、このままではコーディングの時、一つ一つのボタンについてのTrue/Falseの調査ロジックが必要です。なので、Op1とOp2で済むようにしましょう。 コントロールを配列にしてしまうのです。 オプションボタンのプロパティに[Index]っていうのがありますよね?それ ...続きを読む
仕様ではオプションボタンを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
お礼コメント
kogashiman

お礼率 87% (14/16)

レスありがとうございます。
私はまだ、配列とかループとかってのを
勉強してないので、チョト難しかったです。
でも、これからがんばります。
丁寧な回答ありがとうございました。
投稿日時 - 2001-07-08 14:53:14
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ