Hur man gör ett flervalsprov i Excel

Som tränare skulle du ha genomfört flera seminarier för dina elever. Nu är det dags att du delar en Excel-arbetsbok med dina elever som hjälper dig att identifiera hur mycket de har förstått. Förbered flervals digitalt provblad genom att följa den här artikeln.

Hämta hem nu

Om du vill börja använda programvaran så snart som möjligt kan du:

Ladda ner programvaran nu

Annars kan du läsa innehållet nedan om du vill göra det själv.

Låt oss förbereda GUI

InnehållFörbered arketestet

Förbered arksammanfattningen

Förbered arkdatabasen

Låt oss förbereda databasen

Lägg till frågor, alternativ och rätt svar på arket "Databas"

Låt oss göra det funktionellt

Kopiera detta skript till en ny modul i din makroaktiverade arbetsbok.

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

Kopiera det här skriptet till kodfönstret i arket "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

Kopiera det här skriptet till kodfönstret i “ThisWorkook”

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

Hur fungerar det?

När en användare öppnar arbetsboken körs makrot för att dölja ark "Databas" och "Sammanfattning". Om arket ”databas” inte är dolt för användaren, exponeras alla svar. Det är inte heller nödvändigt för en student att se "Sammanfattnings" -bladet. Innan du skickar arbetsboken till användarna ska makrot "Prepare_Test" köras som fyller i arket "Test". Användare kan välja vilket alternativ som helst och makrot markerar det valda svaret i gult. Makrot "Show_Result" jämför de valda alternativen på bladet "Test" med svar på bladet "Databas" och identifierar antalet korrekta svar.

Har ark inte dolt?

VBA-skript kan inte varna egenskaper för ett korrupt Excel-kalkylblad. I så fall, återställa Excel kalkylbladet och kör om makrot.

Författarintroduktion:

Nick Vipond är en dataåterställningsexpert i DataNumen, Inc., som är världsledande inom teknik för återställning av data, inklusive skadade Word och programvaruprodukter för återställningsprogram. För mer information besök www.datanumen.com

Kommentarer är stängda.