下記コードで[大吉、中吉、小吉、凶]が出ません。
[おみくじ0、1、2、3]となってしまいます。
修正をお願いします。
Private Sub CommandButton1_Click()
Dim i As Long
Randomize '乱数系列初期化
i = Int(4 * Rnd) '0~3で乱数生成
Dim おみくじ0 As String
Dim おみくじ1 As String
Dim おみくじ2 As String
Dim おみくじ3 As String
Dim 運勢 As String
おみくじ0 = "大吉"
おみくじ1 = "中吉"
おみくじ2 = "小吉"
おみくじ3 = "凶"
運勢 = "おみくじ" & i
MsgBox 運勢
End Sub
No.5
- 回答日時:
> 運勢 = "おみくじ" & i
「運勢」という文字型変数に「おみくじ」という文字列とLONG型変数iの値をくっつけて代入しています。
ちなみに
> Dim おみくじ0 As String
> Dim おみくじ1 As String
> Dim おみくじ2 As String
> Dim おみくじ3 As String
> Dim 運勢 As String
>
> おみくじ0 = "大吉"
> おみくじ1 = "中吉"
> おみくじ2 = "小吉"
> おみくじ3 = "凶"
の10行は
Dim おみくじ0 As String = "大吉"
Dim おみくじ1 As String = "中吉"
Dim おみくじ2 As String = "小吉"
Dim おみくじ3 As String = "凶"
Dim 運勢 As String
の5行で済みます。
参考まで。
No.4ベストアンサー
- 回答日時:
"おみくじ" & iを印字(表示)してるんだから当たり前
i=0なら ”おみくじ0”と印字される。
iによって、大吉、中吉、小吉、凶にしたいんだろ?
以下を全て変更
Dim おみくじ0 As String
Dim おみくじ1 As String
Dim おみくじ2 As String
Dim おみくじ3 As String
Dim 運勢 As String
おみくじ0 = "大吉"
おみくじ1 = "中吉"
おみくじ2 = "小吉"
おみくじ3 = "凶"
運勢 = "おみくじ" & i
MsgBox 運勢
↓↓↓↓
if i=0 then 運勢="大吉"
elseif i=1 then 運勢="中吉"
elseif i=2 then 運勢="小吉"
elseif i=3 then 運勢="凶"
endif
MsgBox 運勢
「"おみくじ" & iを印字(表示)してるんだから当たり前」
そういう事ですね。
コードを変更しました。
ありがとう御座いました。
No.2
- 回答日時:
方法としては、
1)おみくじ?の変数を配列変数にする
2)switch ~ case 文を使う
個人的にはswitch文が好み
配列のコードも考えてみました。
アドバイスをありがとう御座いました。
Private Sub CommandButton1_Click()
Dim おみくじ(3) As String
おみくじ(0) = "大吉"
おみくじ(1) = "中吉"
おみくじ(2) = "小吉"
おみくじ(3) = "凶"
Dim i As Long
Randomize '乱数系列初期化
i = Int(4 * Rnd) '0~3で乱数生成
MsgBox おみくじ(i)
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:12
- Visual Basic(VBA) countifsについての質問 3 2023/03/08 13:45
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/08 15:45
- Visual Basic(VBA) 2つ目のコンボボックスが動作しません。 3 2023/03/25 12:29
- Visual Basic(VBA) Excel VBA でデータ転記について 1 2023/03/07 19:11
- Visual Basic(VBA) 複数条件でのカウント 3 2022/04/20 23:06
- Visual Basic(VBA) 初めてマクロを入力しますが、テキストとおりに入力したのに構文エラーです。修正を教えてください。 3 2022/10/28 11:18
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Excel(エクセル) エクセルVBA、ファイル名をセルの値で保存の方法を教えてください。 おそれいります。こちらで数々のエ 6 2023/06/30 22:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでCOPYを繰り返すと、処理が...
-
【マクロ】並び替えの範囲が、...
-
【マクロ】オートフィルター を...
-
Vba Array関数について教えてく...
-
Vba 型が一致しません(エラー1...
-
【ExcelVBA】値を変更しながら...
-
vbsでのwebフォームへの入力制限?
-
エクセルのマクロについて教え...
-
【ExcelVBA】5万行以上のデー...
-
VBAでセルの書式を変えずに文字...
-
【マクロ】開いているブックの...
-
Vba セルの4辺について罫線が有...
-
vb.net(vs2022)のtextboxのデザ...
-
Excel VBA 選択範囲の罫線色の...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
エクセルの改行について
-
VBAで特定の文字が入った行をコ...
-
WindowsのOutlook を VBA から...
-
Excel 範囲指定スクショについ...
-
【マクロ】シートの変数へ入れ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Vba セルの4辺について罫線が有...
-
vbsでのwebフォームへの入力制限?
-
【ExcelVBA】5万行以上のデー...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
【マクロ】開いているブックの...
-
【マクロ】並び替えの範囲が、...
-
エクセルの改行について
-
エクセルのマクロについて教え...
-
vb.net(vs2022)のtextboxのデザ...
-
VBAでCOPYを繰り返すと、処理が...
-
VBA ユーザーフォーム ボタンク...
-
エクセルのVBAコードと数式につ...
-
エクセルのVBAコードについて教...
-
[VB.net] ボタン(Flat)のEnable...
-
【マクロ】変数を使った、文字...
-
改行文字「vbCrLf」とは
-
質問58753 このコードでうまく...
-
【マクロ】シートの変数へ入れ...
-
ワードの図形にマクロを登録で...
-
算術演算子「¥」の意味について
おすすめ情報

