Excelで基礎講座ソフトを作ってみよう

Step 14 問題10(外枠・太線・赤色の罫線を引く)の作成

問題10は、指定セルに外枠で太線で赤色の罫線を引く問題です。


Homeに戻る > Excelでアプリケーションソフト > 基礎講座ソフトを作ってみよう

シートのVBAコード

下記のVBAコードを追加してください。

'問題10 答えのチェック
Private Function Ex10AnswerCheck() As Boolean
    Dim s1 As String
    Dim ln As Long
    Ex10AnswerCheck = True
On Error GoTo ErrExit:
    
    '左罫線
    With Range("B16:B20").Borders(xlEdgeLeft)
        If .Weight = 2 Then
            Ex10AnswerCheck = False
        End If
        If .LineStyle <> xlContinuous Then
            Ex10AnswerCheck = False
        End If
        If .Color <> vbRed Then
            Ex10AnswerCheck = False
        End If
    End With

    '上罫線
    With Range("B16:B20").Borders(xlEdgeTop)
        If .Weight = 2 Then
            Ex10AnswerCheck = False
        End If
        If .LineStyle <> xlContinuous Then
            Ex10AnswerCheck = False
        End If
        If .Color <> vbRed Then
            Ex10AnswerCheck = False
        End If
    End With

    '右罫線
    With Range("B16:B20").Borders(xlEdgeRight)
        If .Weight = 2 Then
            Ex10AnswerCheck = False
        End If
        If .LineStyle <> xlContinuous Then
            Ex10AnswerCheck = False
        End If
        If .Color <> vbRed Then
            Ex10AnswerCheck = False
        End If
    End With

    '下罫線
    With Range("B16:B20").Borders(xlEdgeBottom)
        If .Weight = 2 Then
            Ex10AnswerCheck = False
        End If
        If .LineStyle <> xlContinuous Then
            Ex10AnswerCheck = False
        End If
        If .Color <> vbRed Then
            Ex10AnswerCheck = False
        End If
    End With

    Exit Function
ErrExit:
    Ex10AnswerCheck = False
End Function

下記のVBAコードに変更してください。

'出来たボタン
Private Sub CommandButton2_Click()
Dim bret As Boolean

'終了フラッグ
endFlag = True
DoEvents

Select Case ComboBox1.ListIndex
Case 0: bret = Ex1AnswerCheck '問題1
Case 1: bret = Ex2AnswerCheck '問題2
Case 2: bret = Ex3AnswerCheck '問題3
Case 3: bret = Ex4AnswerCheck '問題4
Case 4: bret = Ex5AnswerCheck '問題5
Case 5: bret = Ex6AnswerCheck '問題6
Case 6: bret = Ex7AnswerCheck '問題7
Case 7: bret = Ex8AnswerCheck '問題8
Case 8: bret = Ex9AnswerCheck '問題9
Case 9: bret = Ex10AnswerCheck '問題10
End Select

If bret Then
Label6.ForeColor = &H8000&
Label6.Caption = "正解です。よくできました。"
'次の問題を表示する
If ComboBox1.ListCount - 1 > ComboBox1.ListIndex Then
'ComboBox1.ListIndex = ComboBox1.ListIndex + 1
CommandButton3.Caption = "次の問題"
Else
'問題は終了
MsgBox "正解です。よくできました。" & vbCrLf & "問題はこれで終了です。お疲れ様でした。"
ComboBox1.ListIndex = 0
Label4.Caption = ComboBox1.Column(1)
Label2.Caption = ""
Label6.Caption = ""
CommandButton3.Caption = "始める"
End If
Else
CommandButton3.Caption = "やり直す"
Label6.ForeColor = vbRed
Label6.Caption = "間違っています。"
End If

'経過時間をリセット
Label1.Caption = 0
Label3.Caption = "開始ステップを選択し、「始める」ボタンをクリックしてください。"
ComboBox1.Enabled = True
CommandButton1.Enabled = False
CommandButton2.Enabled = False
CommandButton3.Enabled = True
End Sub

'開始ボタン
Private Sub CommandButton3_Click()
If CommandButton3.Caption <> "始める" And Label6.Caption <> "間違っています。" And Label6.Caption <> "時間切れです!!" Then
If ComboBox1.ListCount - 1 > ComboBox1.ListIndex Then
ComboBox1.ListIndex = ComboBox1.ListIndex + 1
Else
'問題は終了
ComboBox1.ListIndex = 0
MsgBox "問題はこれで終了です。お疲れ様でした。"
CommandButton3.Caption = "始める"
End If
Label4.Caption = ComboBox1.Column(1)
End If

Label6.Caption = ""
CommandButton1.Enabled = True
CommandButton2.Enabled = True
CommandButton3.Enabled = False
ComboBox1.Enabled = False

'終了フラッグをリセット
endFlag = False
Label3.Caption = "ワークシート上で、課題を実行してください。"

Select Case ComboBox1.ListIndex
Case 0: '問題1
Label2.Caption = "[ B10 ] セルに [ 125 ] と入力してください。"
ExDoexercise (20)
Case 1: '問題2
Label2.Caption = "[ D3 ] セルに [ 地球にやさしい ] と入力してください。"
ExDoexercise (10)
Case 2: '問題3
Range("B10") = 125
Label2.Caption = "[ B11 ] セルに セル[ B10 ]に56をプラスする計算式を入力してください。"
ExDoexercise (15)
Case 3: '問題4
Range("B14") = 15
Range("B15") = 112
Range("B16") = 7251
Label2.Caption = "[ B14~B16 ]の合計を関数を使用し、[ B17 ] セル入力してください。"
ExDoexercise (15)
Case 4: '問題5
Range("B14") = 15
Range("B15") = 112
Range("B16") = 7251
Range("B17").Formula = "=sum(B14:B16)"
Label2.Caption = "[ B14~B17 ]の平均を関数を使用し、[ B18 ] セル入力してください。"
ExDoexercise (15)
Case 5: '問題6
Range("B14") = 15
Range("B15") = 112
Range("B16") = 7251
Range("B17").Formula = "=sum(B14:B16)"
Range("B18").Formula = "=AVERAGE(B14:B17)"
Label2.Caption = "[ B14~B18 ]の最大値を関数を使用し、[ B19 ] セル入力してください。"
ExDoexercise (15)
Case 6: '問題7
Range("B14") = 15
Range("B15") = 112
Range("B16") = 7251
Range("B17").Formula = "=sum(B14:B16)"
Range("B18").Formula = "=AVERAGE(B14:B17)"
Range("B19").Formula = "=MAX(B14:B18)"
Label2.Caption = "[ B14~B19 ]の最小値を関数を使用し、[ B20 ] セル入力してください。"
ExDoexercise (15)
Case 7: '問題8
Range("D3") = "地球にやさしい"
Label2.Caption = "[ D3 ]のフォントを「MS明朝、サイズ18、赤色」にしてください。"
ExDoexercise (20)
Case 8: '問題9
Label2.Caption = "[ B10:B11 ]に格子の罫線を引いてください。"
ExDoexercise (20)
Case 9: '問題10
Label2.Caption = "[ B16:B20 ]に外枠・太線・赤色の罫線を引いてください。"
ExDoexercise (20)

End Select

Label3.Caption = "開始ステップを選択し、「始める」ボタンをクリックしてください。"
ComboBox1.Enabled = True
CommandButton1.Enabled = False
CommandButton2.Enabled = False
CommandButton3.Enabled = True
End Sub



実行中の画面

■問題10 [ B16:B20 ]に外枠・太線・赤色の罫線を引いてください。
罫線 外枠 の問題

■[ B16:B20 ]に外枠で太線で・赤色の罫線が引かれています。
太線、赤色、罫線


Homeに戻る > Excelでアプリケーションソフト > 基礎講座ソフト

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved