ExcelVBAのオプションボタンによる条件分岐についての問題が分からないのでご教授ください。添付画像あります。
問題
年齢に応じた料金に出力するプログラムを作成しなさい。フォームにはオプションボタン、フレーム、複数のラベル、3つのコマンドボタンがある。
動作は以下のようなものです。
0.プログラムを開始する
1.水族館1(オプションボタン1)を選択した後、料金計算ボタンをクリックすると、年齢を入力するインプットボックスを表示する。
↑ここまではできました。
2.入力された年齢をもとに水族館の料金を調べ、年齢と料金を表示する。料金には3桁ごとの桁区切りを付ける。
水族館の料金表は
水族館1は
65歳以上 1800円
18歳以上2000円
12~17歳1500円
4~11歳1200円
3歳以下 無料
水族館2は
65歳以上 1600円
12歳以上 1800円
4歳~11歳1000円
3歳以下 無料
です。
If optionbutton1.Value=True Then
Elseif 年齢>=65 Then 料金=”1600”
Elseif 年齢>=618Then 料金=”1800”
(一部省略)
Else
この後に何を書いていいか分かりません(>_<)
Endif
このようなかんじで1つの水族館の料金を表示はできたのですが、2つの水族館の料金を表示させるにはどうしたらいいのか分かりません。
どなたかわかる方よろしくお願いしますm(_ _)m
No.1ベストアンサー
- 回答日時:
If optionbutton1.Value=True Then
'水族館1の料金
Select case 年齢
Case >=65
料金 = 1800
Case 18 TO 64
料金 = 2000
Case 12 TO 17
料金 = 1500
Case 4 TO 11
料金 = 1200
Case <=3
料金 = 無料
End Select
Else
'水族館2の料金
Select case 年齢
Case >=65
料金 = 1600
Case 12 TO 64
料金 = 1800
Case 4 TO 11
料金 = 1000
Case <=3
料金 = 無料
End Select
End If
水族館の選択と年齢はAnd条件です。
「水族館1を選択、且つ年齢が●●の場合・・・・」
なので、オプションボタンの選択(水族館の選択)のIF文で水族館1と水族館2で分けて参照する水族館の料金表を固定します。
その後で年齢の条件で設定する料金を返してあげると良いと思います。
No.2
- 回答日時:
私なら、ユーザー定義関数で補完します。
Private Sub CommandButton1_Click()
Dim age As Variant
Dim chg As Variant
Dim j As Long
If OptionButton1.Value Then
j = 0
ElseIf OptionButton2.Value Then
j = 1
End If
age = Application.InputBox("年齢を入力してください", Type:=2)
If VarType(age) = vbBoolean Or Trim(age) = "" Then Exit Sub
If age<0 then Exit Sub
chg = IndexLists(age, j)
Label1.Caption = age
Label2.Caption = Format$(chg, "#,##0")
End Sub
Function IndexLists(ByVal age As Integer, ByVal sel As Integer)
Dim aqua1
Dim ages1
Dim chg As Variant
If sel = 0 Then
Select Case age
Case Is >= 65: chg = 1800
Case Is >= 18: chg = 2000
Case Is >= 12: chg = 1500
Case Is >= 4: chg = 1200
Case 0 To 3: chg = 0
End Select
ElseIf sel = 1 Then
Select Case age
Case Is >= 65: chg = 1600
Case Is >= 12: chg = 1800
Case Is >= 4: chg = 1000
Case 0 To 3: chg = 0
End Select
End If
IndexLists = chg
End Function
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 国民年金・基礎年金 先々の老後がとても不安です。お知恵をお貸しください。 3 2022/12/21 21:22
- 片思い・告白 65歳・75歳からの健康保険(国保)と住民税についての質問です 1 2023/05/13 09:48
- 国民年金・基礎年金 年金について教えてください。 夫 60歳で死亡 老齢基礎年金 600,000円 老齢厚生年金 1,0 3 2023/03/29 15:43
- 厚生年金 年金額(見込額)108万円は少ない? 6 2022/07/31 02:35
- その他(年金) 遺族厚生年金→この夫が亡くなった妻の場合の貰える遺族厚生年金?の額はこれであっていますか? ーーーー 5 2023/04/21 12:00
- 消費税 消費税 4 2022/10/22 11:36
- その他(地域情報・旅行・お出掛け) 高速道路 料金について GWに岐阜から名古屋港水族館に行こうと思います。 ただ、静岡の小笠PAに離婚 4 2023/04/24 10:13
- 預金・貯金 28歳4人家族の貯金平均額について。 4 2022/12/04 12:10
- 預金・貯金 家計診断お願いします。 3 2023/05/24 11:58
- 国民年金・基礎年金 老齢基礎年金が追納できない根拠は? 2 2022/07/25 14:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アダルトサイト「ぬきスト」に...
-
着信拒否はしていないのに…私か...
-
友人(docomo)に何度着信して...
-
別ファイルを開かず、INDIRECT...
-
埼玉県の大行院神明殿について...
-
千円代の代は台ですか?代ですか?
-
切手は、郵便料金以上の額面金...
-
二人用の部屋、最初一人で泊ま...
-
ホテルや旅館などで、複数人部...
-
祝前日って日曜日は含まれますか?
-
ホテルでシングルルームで2人泊...
-
休前日とは、何曜日のことですか?
-
携帯 利用停止中の相手に
-
「私の後についてきて下さい」...
-
家にパソコンがなくどうしてもC...
-
アダルトサイト側では個人情報...
-
自分の家の電話番号を知る方法
-
バス
-
Googleでエロ動画と検索して動...
-
キャバクラで2時間のお会計が5...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
着信拒否はしていないのに…私か...
-
別ファイルを開かず、INDIRECT...
-
友人(docomo)に何度着信して...
-
千円代の代は台ですか?代ですか?
-
二人用の部屋、最初一人で泊ま...
-
祝前日って日曜日は含まれますか?
-
埼玉県の大行院神明殿について...
-
ホテルでシングルルームで2人泊...
-
ホテルや旅館などで、複数人部...
-
家にパソコンがなくどうしてもC...
-
休前日とは、何曜日のことですか?
-
携帯 利用停止中の相手に
-
切手は、郵便料金以上の額面金...
-
バス
-
自分の家の電話番号を知る方法
-
アダルトサイト「ぬきスト」に...
-
小学校卒業後、中学校入学まで...
-
区間運賃が同じ場合の定期券の...
-
「楽天グループ電話サービス」...
-
外食に行った際、高校生は子供...
おすすめ情報