Excelで多肢選択式の試験シートを作成する方法

今すぐ共有:

トレーナーとして、あなたはあなたの学生にいくつかのセミナーを実施したでしょう。 次に、Excelワークブックを生徒と共有します。これは、生徒がどれだけ理解しているかを特定するのに役立ちます。 この記事に従って、多肢選択式のデジタル試験シートを準備します。

ダウンロード

ソフトウェアをできるだけ早く使い始めたい場合は、以下の方法があります。

今すぐソフトウェアをダウンロード

それ以外の場合、DIYをしたい場合は、以下の内容を読むことができます。

GUIを準備しましょう

コンテンツシートテストの準備

シートサマリーを準備する

シートデータベースを準備する

データベースを準備しましょう

シート「データベース」に質問、オプション、正解を追加します

機能させましょう

このスクリプトを、マクロが有効なブックの新しいモジュールにコピーします。

Sub Prepare_Test()
    Dim lr As Long
    Dim r As Long
    Dim rinq As Long
    rinq = 0
    lr = Sheets("Database").Range("A" & Rows.Count).End(xlUp).Row
    For r = 3 To lr
        rinq = rinq + 6
        Sheets("Test").Range("C" & rinq).Value = Sheets("Database").Range("A" & r).Value
        Sheets("Test").Range("C" & rinq + 1).Value = Sheets("Database").Range("B" & r).Value
        Sheets("Test").Range("C" & rinq + 2).Value = Sheets("Database").Range("C" & r).Value
        Sheets("Test").Range("C" & rinq + 3).Value = Sheets("Database").Range("D" & r).Value
        Sheets("Test").Range("C" & rinq + 4).Value = Sheets("Database").Range("E" & r).Value
    Next r
End Sub

Sub Show_Result()
    Dim lr As Long
    Dim r As Long
    Dim rinq As Long
    rinq = 0
    Sheets("Database").Visible = -1
    Sheets("Summary").Visible = -1
    lr = Sheets("Database").Range("A" & Rows.Count).End(xlUp).Row
    Dim v_ccount As Long
    v_ccount = 0
    For r = 3 To lr
        Dim v_answer As String
        v_answer = "Option " & Sheets("Database").Range("F" & r).Value
        rinq = rinq + 6
        If Sheets("Test").Range("C" & rinq + 1).Interior.Color = vbYellow And Sheets("Test").Range("B" & rinq + 1).Value = v_answer Then
            v_ccount = v_ccount + 1
        End If
        If Sheets("Test").Range("C" & rinq + 2).Interior.Color = vbYellow And Sheets("Test").Range("B" & rinq + 2).Value = v_answer Then
            v_ccount = v_ccount + 1
        End If
        If Sheets("Test").Range("C" & rinq + 3).Interior.Color = vbYellow And Sheets("Test").Range("B" & rinq + 3).Value = v_answer Then
            v_ccount = v_ccount + 1
        End If
        If Sheets("Test").Range("C" & rinq + 4).Interior.Color = vbYellow And Sheets("Test").Range("B" & rinq + 4).Value = v_answer Then
            v_ccount = v_ccount + 1
        End If
    Next r
    Sheets("Summary").Range("C7").Value = Sheets("Test").Range("F3").Value
    Sheets("Summary").Range("C11").Value = lr - 2
    Sheets("Summary").Range("F11").Value = v_ccount
    Sheets("Summary").Range("I11").Value = (lr - 2) - v_ccount
End Sub

このスクリプトをシート「テスト」のコードウィンドウにコピーします

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim ar As Long
    ar = Target.Row
    Range("C" & ar & ":F" & ar).Interior.Color = vbYellow
End Sub

このスクリプトを「ThisWorkook」のコードウィンドウにコピーします

Private Sub Workbook_Open()
    Call Module1.Prepare_Test
    Sheets("Database").Visible = 2
    Sheets("Summary").Visible = 2
End Sub

システムを教えてください。

ユーザーがワークブックを開くと、マクロが実行され、シート「データベース」と「概要」が非表示になります。 シート「データベース」がユーザーから隠されていない場合、すべての回答が公開されます。 また、学生は「概要」シートを見る必要はありません。 ワークブックをユーザーに送信する前に、マクロ「Prepare_Test」を実行して、シート「Test」にデータを入力する必要があります。 ユーザーは任意のオプションを選択でき、マクロは選択した回答を黄色で強調表示します。 マクロ「Show_Result」は、シート「テスト」で選択されたオプションをシート「データベース」の回答と比較し、正解の数を識別します。

シートは隠されていませんか?

VBAスクリプトは、破損したExcelワークシートのプロパティを警告できません。 このような場合には、 Excelを回復する ワークシートを作成し、マクロを再実行します。

著者紹介:

Nick Vipondは、のデータ復旧の専門家です。 DataNumen、Inc。は、以下を含むデータ復旧技術の世界的リーダーです。 破損したWord と見通し回復ソフトウェア製品。 詳細については、次のWebサイトをご覧ください。 WWW。datanumen.com

今すぐ共有:

コメントは締め切りました。