実行画面
3桁の足し算テストです。今回は必ず3桁+3桁の問題になるようにしています。 [作成開始]ボタンをクリックすると、自動的にたしざんテストが作成できます。
完成した3桁の足し算テスト
実行の流れ
乱数の取得は Randomize と RND を使用し、3桁の乱数を取得するために次の式を使用しました。
Int((999 - 10 + 1) * Rnd + 10)
必ず3桁+3桁の問題にする為、乱数で取得した左右の3桁の数値を判定し3桁でなければ作成し直します。
エクセルVBAコード
Option Explicit
Private lrow As Long
Private Function mondaicheck(lr As Long) As Boolean
Dim m1 As Long
Dim m2 As Long
Dim i As Long
mondaicheck = True
If lr = lrow Then
Exit Function
End If
m1 = Cells(lr, 3)
m2 = Cells(lr, 4)
For i = 0 To lr - lrow - 1
If m1 = Cells(lrow + i, 3) And m2 = Cells(lrow + i, 4) Then
mondaicheck = False
Exit For
End If
Next
End Function
Private Sub CommandButton1_Click()
Dim lcoun As Long
Dim i As Long
lcoun = 0
lrow = 9
Range(Cells(lrow + 1, 2), Cells(lrow + 21, 4)).ClearContents
Randomize
Do While lcoun < 20
Cells(lrow + lcoun, 3) = Int((999 - 10 + 1) * Rnd + 10)
Cells(lrow + lcoun, 4) = Int((999 - 10 + 1) * Rnd + 10)
If Cells(lrow + lcoun, 3) > 99 And Cells(lrow + lcoun, 4) > 99 Then
If mondaicheck(lrow + lcoun) = True Then
Cells(lrow + lcoun, 2) = lcoun + 1
If lcoun < 10 Then
Sheets("テスト用紙").Cells(6 + lcoun, 4) = Cells(lrow + lcoun, 3)
Sheets("テスト用紙").Cells(6 + lcoun, 8) = Cells(lrow + lcoun, 4)
Else
Sheets("テスト用紙").Cells(6 + lcoun - 10, 18) = Cells(lrow + lcoun, 3)
Sheets("テスト用紙").Cells(6 + lcoun - 10, 22) = Cells(lrow + lcoun, 4)
End If
lcoun = lcoun + 1
End If
End If
Loop
Sheets("テスト用紙").Select
End Sub
エクセルソフト無料ダウンロード
足し算テスト(3桁)自動作成ソフト -
無料ダウンロード
Copyright (C) excel.usefulhp.com All rights reserved.