A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
ビンゴゲームって0はありましたっけ?
ま、それはともかくそういうことならただ乱数を表示すればいいってもんでもないと思います。
1~60がでたらめに出てくる以外に
一度出た数字は2度と出ない
という条件も必要でしょう。
というわけで
1~60の60個の数字をでたらめに並べ替え、順に表示する
が正解だと思います。
それをビンゴっぽくするなら
たとえばExcelなら
シートを60枚用意し、
そこにワードアートなどを使って1~60の数字をあらかじめ1つずつ書いておき、
別のシートの1~60の数字をランダムに並べたリストを用意し、
ユーザーフォームにボタンを貼りつけておいて、
それをクリックすると先ほどのリストを順に読んで、該当のシートを表示する
ボタンをクリックするたびに、先ほど表示したシートは非表示にし、新しいシートを表示する
というアイデアはどうでしょうか?
PowerPointならシートがスライドに代わるだけでしょう。
私はPowerPointの方がいろいろと視覚効果も期待できるので賛成ですが
私自身PowerPointのVBAには詳しくないです。
No.2
- 回答日時:
ビンゴゲームにするなら、最初から言っていただいたほうがよいと思います。
でも、ご質問も#1の補足内容も何か疑問に残ることがあります。>画面いっぱいに数字を表示し、マウスをクリックすると
>次の番号が出るようにしたいです。
画面一杯と言っても、Excelの場合は、標準的に、一画面で、400セルぐらいありますが、ビンゴゲームで、そんなに並べてもしょうがないと思います。0~60 なら、61セル使うということではないでしょうか。でも、60では、正方形にならないのではないかと思います。64とか、81とか、100とか、縦横列数が同じ数でないといけないはずです。
0~60 というように、数字の個数が奇数ですと、出てこない数字もあるということですね。
'シートモジュールのみ(ダブルクリック・イベント)
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim rng As Range
Dim ret As Variant
Set rng = Range("A1:F10") '入力範囲
Cancel = True
If Target.Value <> "" Then Exit Sub
If Intersect(Target, rng) Is Nothing Then Exit Sub
Randomize
Do
n = Int(Rnd() * 61) '0~60まで
ret = Application.CountIf(rng, n)
If ret = 0 Then
Target.Value = n
Exit Do
End If
Loop
End Sub
No.1
- 回答日時:
こんばんは。
仮にExcelだとして「画面」って何ですか?
ダイアログボックス? シートのセル?
セルだったら 「=INT(RAND()*61)」とでもどこかのセルに入れておけば
とりあえず乱数は表示できます。
ダイアログボックス(メッセージボックス)に表示させたいなら
Sub test()
MsgBox Int(Rnd * 61)
End Sub
とでもコーディングしておけば、これを走らせるたびに乱数が表示されます。
「クリックするたびに」もわかりにくいです。
「何を」クリックするのでしょうか。
私もすぐ返事が欲しいです。
この回答への補足
早々にご回答ありがとうございます。
状況説明不足ですみません。
ビンゴゲームの番号表示に使いたいので、
画面いっぱいに数字を表示し、マウスをクリックすると
次の番号が出るようにしたいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセル、日々の集計整理方法。(再送です。) 5 2022/10/02 00:19
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
- Excel(エクセル) エクセルにサムネイル画像組み込み 2 2022/09/02 17:13
- Excel(エクセル) エクセル関数について 6 2022/09/04 17:41
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Visual Basic(VBA) Powerpointでランダムな数字の結果を表示するマクロ 2 2023/08/04 10:04
- 数学 何日で出られますか。 7 2023/04/20 13:55
- Excel(エクセル) 差し込み印刷がうまくいかない 2 2022/07/29 12:26
- Visual Basic(VBA) エクセルマクロでアニメを作る方法を教えてください。 1 2023/02/07 14:27
- その他(Microsoft Office) エクセルのマクロについて教えてください。 5 2023/01/21 09:39
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別のシートから値を取得するとき
-
特定の文字を含むシートだけマ...
-
VBA 入力月で該当シートを選択...
-
VBA 存在しないシートを選...
-
Excel VBA 複数行を数の分だけ...
-
別のシートを参照して計算する方法
-
ユーザーフォームに入力したデ...
-
実行時エラー1004「Select メソ...
-
excelのマクロで該当処理できな...
-
【ExcelVBA】全シートのセルの...
-
実行時エラー'1004': WorkSheet...
-
Excel チェックボックスにチェ...
-
セルのコピーで「オブジェクト...
-
エクセルVBAでダブルクリックを...
-
複数シートに色付きセル(条件つ...
-
重複するidをデータごとにまと...
-
一括印刷マクロ シート名を数字...
-
VBA 最終行まで数式をコピーする
-
Excel マクロについての相談
-
エクセルのシート名変更で重複...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別のシートから値を取得するとき
-
ユーザーフォームに入力したデ...
-
【ExcelVBA】全シートのセルの...
-
同じ作業を複数のシートに実行...
-
Excelマクロのエラーを解決した...
-
excelのマクロで該当処理できな...
-
XL:BeforeDoubleClickが動かない
-
ExcelVBA シート名を複数セルか...
-
実行時エラー'1004': WorkSheet...
-
VBA 存在しないシートを選...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
ブック名、シート名を他のモジ...
-
【Excel VBA】Worksheets().Act...
-
ExcelのVBAのマクロで他のシー...
-
エクセルのシート名変更で重複...
-
特定の文字を含むシートだけマ...
-
シートが保護されている状態で...
-
Excel マクロについての相談
-
VBA 検索して一致したセル...
おすすめ情報