Cum să faci o foaie de examen cu alegeri multiple în Excel

Distribuie acum:

În calitate de formator, ai fi organizat mai multe seminarii studenților tăi. Acum este timpul să partajați un registru de lucru Excel cu studenții dvs., care vă va ajuta să identificați cât de mult au înțeles aceștia. Pregătiți foaia de examen digital cu alegeri multiple urmând acest articol.

Descarcă acum

Dacă doriți să începeți să utilizați software-ul cât mai curând posibil, puteți:

Descărcați software-ul acum

În rest, dacă vrei să faci DIY, poți citi conținutul de mai jos.

Să pregătim GUI

ConţinutPregătiți Testul Foaie

Pregătiți Rezumatul Fișei

Pregătiți baza de date pentru foi

Să pregătim baza de date

Adăugați întrebări, opțiuni și răspunsul corect pe foaia „Bază de date”

Să-l facem funcțional

Copiați acest script într-un modul nou din registrul de lucru cu macrocomenzi.

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

Copiați acest script în fereastra de cod a foii „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

Copiați acest script în fereastra de cod din „ThisWorkook”

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

Cum functioneaza?

Când un utilizator deschide registrul de lucru, macrocomandă va rula pentru a ascunde foile „Bază de date” și „Rezumat”. Dacă foaia „Bază de date” nu este ascunsă utilizatorului, toate răspunsurile sunt expuse. De asemenea, nu este necesar ca un student să vadă foaia „Rezumat”. Înainte de a trimite registrul de lucru către utilizatori, ar trebui să fie rulată macro-ul „Prepare_Test” care va popula foaia „Test”. Utilizatorii pot selecta orice opțiune, iar macro-ul va evidenția răspunsul selectat în galben. Macro-ul „Show_Result” va compara opțiunile selectate din foaia „Test” cu răspunsurile din foaia „Bază de date” și identifică numărul răspunsurilor corecte.

Nu au fost ascunse Foile de calcul?

Scriptul VBA nu poate alerta proprietățile unei foi de lucru Excel corupte. In acest caz, recupera Excel foaia de lucru și rulați din nou macrocomanda.

Introducerea autorului:

Nick Vipond este un expert în recuperarea datelor DataNumen, Inc., care este lider mondial în tehnologiile de recuperare a datelor, inclusiv Cuvântul deteriorat și produse software de recuperare Outlook. Pentru mai multe informații vizitați www.datanumen.com

Distribuie acum:

Comentariile sunt închise.