下記コードで[大吉、中吉、小吉、凶]が出ません。
[おみくじ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.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.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.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ランキング
-
サブフォルダに格納されている...
-
IF文、条件分岐の整理方法
-
VBAコードのインデント表示
-
【ExcelVBA】値を変更しながら...
-
VBA 別ブックからコピペしたい...
-
[VB.net] ボタン(Flat)のEnable...
-
【ExcelVBA】インデックスが有...
-
Excel VBA 定義されたプロージ...
-
Excel-VBAのmsgBox()の不思議
-
時間短縮のために、テキストフ...
-
vbaにてseleniumを使用したedge...
-
現在のブックを閉じないで、マ...
-
Outlookにて既にウィドウ単体で...
-
excelのVBAについて、以下のコ...
-
Excel VBA 選択範囲の罫線色の...
-
Excel関数またはVBAでの質問に...
-
Outlookの「受信日時」「件名」...
-
VBA実行後に元のセルに戻りたい
-
VBA ユーザーフォーム ボタンク...
-
VB.net(VB)で、フォームにExcel...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAなくなるの?
-
VBAでCOPYを繰り返すと、処理が...
-
vba 削除
-
プログラミング
-
Excelのマクロについて教えてく...
-
Excelのマクロについて教えてく...
-
エクセルのVBAコードについて教...
-
久しぶりのプログラミング
-
ユーザーフォームに別シートか...
-
エクセルVBAコードで教えて下さ...
-
VBA 別ブックからコピペしたい...
-
ExcelのVBAコードについて教え...
-
VBAコードについて教えてくださ...
-
vba アクティブシートの名前変...
-
Excelのマクロについて教えてく...
-
エクセルVBA
-
Geogebraの操作方法について
-
マクロの記録を使用したマクロ...
-
Excel(M365) Vlookup/セル反転(...
-
Excel 範囲指定スクショについ...
おすすめ情報