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