実行画面
前回1桁の足し算のテストを作成しましたが、今回は2桁の乱数を発生させこれで2桁の足し算のテストを作成します
使い方は1桁と同様に[作成開始]ボタンをクリックすると、自動的に問題が作成され、テスト用紙シートに変わります。
完成した2桁の足し算テスト
実行の流れ
乱数の取得は Randomize と RND を使用し1桁と同じですが、2桁の乱数を取得するために次の式を使用しました。
Int((99 - 10 + 1) * Rnd + 10)
エクセル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((99 - 10 + 1) * Rnd + 10)
Cells(lrow + lcoun, 4) = Int((99 - 10 + 1) * Rnd + 10)
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
Loop
Sheets("テスト用紙").Select
End Sub
エクセルソフト無料ダウンロード
足し算テスト(2桁)自動作成ソフト -
無料ダウンロード
Copyright (C) excel.usefulhp.com All rights reserved.