
目次
段の練習
こんにちは。伊川(@naonaoke)です。
今回が、段の練習のシートを作成したいと思います。
問題提起
発達障害、算数を理解していない幼児に、九九を教える。
段の練習をクリアせよ。
その前に前回の足りないところを修正
サンプルファイルとして、公開していたファイルには、バグがありました。


上の図の部分を追加しています。
当時はどうしていいのかわからず、そのまま公開していました。
Select Caseを利用してコードを記載しました。
Select Caseに関しては、上の記事を確認してください。
Sub たす()
Range("M8") = ""
Range("A27") = ""
Range("G8") = Range("G8") + 1
Select Case Range("G8")
Case Is = 1
Range("G19") = "いん"
Case Is = 2
Range("G19") = "に"
Case Is = 3
Range("G19") = "さん"
Case Is = 4
Range("G19") = "し"
Case Is = 5
Range("G19") = "ご"
Case Is = 6
Range("G19") = "ろく"
Case Is = 7
Range("G19") = "しち"
Case Is = 8
Range("G19") = "はち"
Case Is = 9
Range("G19") = "く"
End Select

もんだいに記載しているコード
もんだいに記載しているコード 作成手順その1 考え方

正解したときは上の図のようになります。

もんだいに記載しているコード 作成手順その2 実際のコード
②の消すに関しては、下記のコードになります。

④の1増えるコードは、下記のコードになります。

③の読み方が変わるのは、下記のコードになります。

コードを記載する
こたえあわせに記載しているコード
こたえ合わせに記載しているコード 作成手順その1 考え方

こたえあわせに記載しているコード 作成手順その2 実際のコード


Sub 段答()
Range("P1") = Date
If Range("M8") = Range("A8") * Range("G8") Then
Range("A27") = "やったね!! せいか~い"
Else
Range("A27") = "ざんねーん (T T)"
End If
Dim con As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim conStr As String
conStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ActiveWorkbook.Path & "\九九.accdb"
con.Open ConnectionString:=conStr
rs.Open Source:="MT_計算", ActiveConnection:=con, _
CursorType:=adOpenKeyset, LockType:=adLockOptimistic
With rs
.AddNew
.Fields("段").Value = Range("A8")
.Fields("数値").Value = Range("G8")
.Fields("解答").Value = Range("M8")
.Fields("日時").Value = Range("P1")
.Update
rs.Close
con.Close
End With
MsgBox "つぎもがんばろう"
If Range("G8") = 9 Then
Range("A27") = "お し ま い "
MsgBox "おしまい"
Range("M8") = ""
Range("G8") = ""
Worksheets("表紙").Activate
End If
End Sub
※ACCESSの転送コードは無視してください
ここがポイント
ここがポイント

条件分岐は、カンタンに使いこなすことができます。頭の中に、複雑なフローチャートを作成しなくてもいいです。当たり前のことを記載しましょう。
まとめ
今回は、条件分岐とMsgBoxを使って段の練習を作成しました。
次回は、ランダムで数字が代入される形式のシートを作成します。













