Excelで三角くじを作ってみよう
Step 5 当たりを乱数で作成する
最初に、当たり枚数分当たりくじを乱数で作成しておきます。
くじ枚数分の配列を作成し、はずれは0で当たりには1をセットします。
当たり枚数分ループで回して作成しています。
これで毎回違った当たりになります。
Homeへ >
Excelでアプリケーションソフト2 >
三角くじを作ってみよう
シート画面
テストで90度回転させました。テキスト文字も回転しています。
シートのVBAコード
下記のVBAコードに変更してください。
'作成開始ボタン
Private Sub CommandButton1_Click()
Dim ln1 As Long
Dim ln2 As Long
ln1 = MyGetSuchi("C2")
If ln1 <= 0 Or ln1 > 100 Then
MsgBox "くじ枚数は1~100の範囲で入力してください。"
Exit Sub
End If
ln2 = MyGetSuchi("C3")
If ln2 < 0 Or ln2 > ln1 Then
MsgBox "当たり枚数は,くじ枚数より少なくしてください。"
Exit Sub
End If
Range("C2") = ln1
Range("C3") = ln2
'オートシェイプ作成
ExMakeShape
'当たりくじを作成する
ExAtariKujiMake ln1, ln2
End Sub
下記のVBAコードを追加してください。
Private atarikuji(100) As Integer
'当たりくじを作成する
Sub ExAtariKujiMake(maisu As Long, atari As Long)
Dim i As Integer
Dim ln As Long
Dim count As Long
'初期化
If atari > 0 And maisu = atari Then
For i = 1 To maisu
atarikuji(i) = 1
Next
Exit Sub
Else
For i = 1 To maisu
atarikuji(i) = 0
Next
End If
If atari = 0 Then
Exit Sub
End If
'乱数の生成
Randomize
'乱数で当たりクジを作る
count = 0
Do
'1~くじ枚数の乱数
ln = Int((Rnd * maisu) + 1)
If atarikuji(ln) = 0 Then
atarikuji(ln) = 1
count = count + 1
End If
Loop Until count >= atari
End Sub
Homeへ >
Excelでアプリケーションソフト2 >
三角くじを作ってみよう
■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します
Copyright (c) Excel-Excel ! All rights reserved