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

Step 13 問題9(格子 罫線を引く)の作成

問題9は、指定セルに格子の罫線を引く問題です。


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

シートのVBAコード

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

'問題9 答えのチェック
Private Function Ex9AnswerCheck() As Boolean
    Dim s1 As String
    Dim ln As Long
    Ex9AnswerCheck = False
On Error GoTo ErrExit:
    
    '格子罫線のチェック
    If Range("B10:B11").Borders.LineStyle = xlContinuous Then
        Ex9AnswerCheck = True
    End If
    Exit Function
ErrExit:
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
    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)
    
    End Select
    
    Label3.Caption = "開始ステップを選択し、「始める」ボタンをクリックしてください。"
    ComboBox1.Enabled = True
    CommandButton1.Enabled = False
    CommandButton2.Enabled = False
    CommandButton3.Enabled = True
End Sub



実行中の画面

■問題9 [ B10:B11 ]に格子の罫線を引いてください。
格子罫線を引く問題

■[ B10:B11 ]に格子の罫線が引かれています。
格子の罫線 正解


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

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


Copyright (c) Excel-Excel ! All rights reserved