前画面へ戻る
Sub Hajime()
'このマクロは、乱数を使って指定フィールド(項目)にランダムレコードを作成します。
'--------変数の宣言----------
Dim i As Integer
Dim t As Integer
Dim Owari As Integer '繰り返し変数
Dim UriHi As Date '売上日変数
Dim Code As Integer '商品コード変数
Dim Bungu As String '商品名変数
Dim Urisuu As Integer '販売数の変数
Dim Tanka As Integer '単価変数
Dim Tanni As String '単位の変数
'---------シートデータ クリア--------
Cells.Select 'シート全体を選択
With Selection
.ClearContents 'データのクリア
.ClearFormats '書式のクリア
.ClearOutline '罫線のクリア
End With
'--------項目名の代入-------------
ActiveSheet.Select
Range("A13") = "売上日"
Range("B13") = "商品コード"
Range("C13") = "商品名"
Range("D13") = "単位"
Range("E13") = "単価"
Range("F13") = "売上数"
Range("G13") = "売上金額"
'----------セルの修飾-------------
'省略・・・
'----------------------------------------------
'Rnd関数を使用した時、常に異なる乱数を発生させるステートメント
Randomize
'Ran関数は0以上1未満の乱数を発生させる関数です。従って(100*Rand)により0〜99の数値が取得できます。そしてInt関数によりその数値を整数にします。ただ、0になる可能性もあるので、10を加算して最低10回繰り返すようにしています。
Owari = Int(100 * Rnd) + 10
UriHi = Now '現在日を取得
For i = 1 To Owari
'-----販売日の乱数処理----------
現在日(UriHi)に、0〜1までの乱数をRound関数で四捨五入(0か1)して加算することにより、売上日を決める。
UriHi = UriHi + Round(Rnd)
'----商品コードの乱数-----------
Int(10*Rnd)は、0〜9までの数値を発生させ、それを整数(Int)にする。
Code = Int(10 * Rnd)
'0の商品コードは存在しないので、0ならやり直し
Do While Code = 0
Code = Int(10 * Rnd)
Loop
'----商品コードから商品名を参照----------
'Code(商品コード)からBungu(商品名)とTanka(単価)、Tanni(単位)を参照
Select Case Code
Case 1
Bungu = "エンピツ"
Tanka = 50
Tanni = "本"
Case 2
Bungu = "消しゴム"
Tanka = 100
Tanni = "個"
Case 3
Bungu = "ノートA"
Tanka = 200
Tanni = "冊"
Case 4
Bungu = "ノートB"
Tanka = 180
Tanni = "冊"
Case 5
Bungu = "サインペン"
Tanka = 120
Tanni = "本"
Case 6
Bungu = "手帳"
Tanka = 500
Tanni = "冊"
Case 7
Bungu = "ボールペン"
Tanka = 100
Tanni = "本"
Case 8
Bungu = "カッターナイフ"
Tanka = 250
Tanni = "個"
Case 9
Bungu = "シャープペン"
Tanka = 350
Tanni = "本"
End Select
'----販売数の乱数---------------
'Int(100*Rnd)は、0〜99までの数値を発生させ、それを整数(Int)にする。
Urisuu = Int(100 * Rnd)
''0の販売数は存在しないので、0ならやり直し
Do While Urisuu = 0
Urisuu = Int(100 * Rnd)
Loop
'セルに値を代入
'"=RC[-1]*RC[-2]"はR1C1形式の相対参照、RC[-1]は指定セル位置から左へ1つ戻ったセル位置。
With ActiveSheet
.Cells(i + 13, 1).Value = Year(UriHi) & "年" & Month(UriHi)
& "月" & Day(UriHi) & "日"
.Cells(i + 13, 2).Value = Code
.Cells(i + 13, 3).Value = Bungu
.Cells(i + 13, 4).Value = Tanni
.Cells(i + 13, 5).Value = Tanka
.Cells(i + 13, 6).Value = Urisuu
.Cells(i + 13, 7).Value = "=RC[-1]*RC[-2]" '単価×売上数
End With
Next i
Range("A1").Select
End
End Sub
前画面へ戻る