Excelで三角くじを作ってみよう
Step 6 くじの配置位置を取得する
左位置と上位置と角度を乱数で取得します。
XYの範囲は、「A1:M30」以内にしています。
X範囲は ActiveSheet.Range(セル範囲).Width で取得できます。
Y範囲は ActiveSheet.Range(セル範囲).Height で取得できます。
Homeへ >
Excelでアプリケーションソフト2 >
三角くじを作ってみよう
シートの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
'くじを配置する
ExKujiSet ln1
End Sub
下記のVBAコードを追加してください。
'くじを配置する
Private Sub ExKujiSet(maisu As Long)
Dim i As Integer
Dim xmax As Long
Dim ymax As Long
Dim xx As Long
Dim yy As Long
Dim rr As Long
'配置する範囲を取得
xmax = ActiveSheet.Range("A1:M30").Width
ymax = ActiveSheet.Range("A1:M30").Height
'乱数の生成
Randomize
For i = 1 To maisu
xx = Int((Rnd * xmax) + 1)
yy = Int((Rnd * ymax) + 1)
rr = Int((Rnd * 360) + 1)
Next
End Sub
Homeへ >
Excelでアプリケーションソフト2 >
三角くじを作ってみよう
■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します
Copyright (c) Excel-Excel ! All rights reserved