So erstellen Sie ein Multiple-Choice-Prüfungsblatt in Excel

Jetzt teilen:

Als Trainer hätten Sie mehrere Seminare für Ihre Schüler durchgeführt. Jetzt ist es an der Zeit, dass Sie Ihren Schülern eine Excel-Arbeitsmappe zur Verfügung stellen, anhand derer Sie feststellen können, wie viel sie verstanden haben. Bereiten Sie ein digitales Multiple-Choice-Prüfungsblatt vor, indem Sie diesem Artikel folgen.

Jetzt kostenlos herunterladen

Wenn Sie die Software so schnell wie möglich nutzen möchten, dann können Sie Folgendes tun:

Laden Sie die Software jetzt herunter

Andernfalls können Sie den folgenden Inhalt lesen, wenn Sie selbst basteln möchten.

Bereiten wir die GUI vor

InhaltBereiten Sie den Blatttest vor

Bereiten Sie die Blattzusammenfassung vor

Bereiten Sie die Blattdatenbank vor

Bereiten wir die Datenbank vor

Fügen Sie Fragen, Optionen und die richtige Antwort auf dem Blatt "Datenbank" hinzu.

Machen wir es funktionsfähig

Kopieren Sie dieses Skript in ein neues Modul in Ihrer makrofähigen Arbeitsmappe.

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

Kopieren Sie dieses Skript in das Codefenster des Blattes "Test".

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

Kopieren Sie dieses Skript in das Codefenster von "ThisWorkook".

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

Wie funktioniert es?

Wenn ein Benutzer die Arbeitsmappe öffnet, wird das Makro ausgeführt, um die Blätter "Datenbank" und "Zusammenfassung" auszublenden. Wenn das Blatt „Datenbank“ nicht vor dem Benutzer verborgen ist, werden alle Antworten angezeigt. Es ist auch nicht erforderlich, dass ein Schüler das Blatt „Zusammenfassung“ sieht. Vor dem Senden der Arbeitsmappe an Benutzer sollte das Makro "Prepare_Test" ausgeführt werden, das das Blatt "Test" ausfüllt. Benutzer können eine beliebige Option auswählen und das Makro hebt die ausgewählte Antwort gelb hervor. Das Makro „Show_Result“ vergleicht ausgewählte Optionen auf Blatt „Test“ mit Antworten auf Blatt „Datenbank“ und ermittelt die Anzahl der richtigen Antworten.

Haben Blätter nicht versteckt?

Das VBA-Skript kann die Eigenschaften eines beschädigten Excel-Arbeitsblatts nicht benachrichtigen. In einem solchen Fall, Excel wiederherstellen Arbeitsblatt und führen Sie das Makro erneut aus.

Einführung des Autors:

Nick Vipond ist ein Datenrettungsexperte in DataNumen, Inc., das weltweit führend bei Datenwiederherstellungstechnologien ist, einschließlich beschädigtes Wort und Outlook Recovery-Softwareprodukte. Für weitere Informationen besuchen Sie www.datanumen.com €XNUMX

Jetzt teilen:

Kommentare sind geschlossen.