Kako narediti izpit za več izbir v Excelu

Skupna raba zdaj:

Kot trener bi svojim študentom izvedli več seminarjev. Zdaj je čas, da svojim učencem delite Excelov delovni zvezek, ki vam bo pomagal ugotoviti, koliko so razumeli. Pripravite digitalni izpitni list z več izbirami, tako da upoštevate ta članek.

Prenesi zdaj

Če želite start Če želite programsko opremo uporabiti čim prej, lahko:

Prenesite programsko opremo zdaj

V nasprotnem primeru, če želite sami, lahko preberete spodnjo vsebino.

Pripravimo GUI

vsebinaPripravite listni test

Pripravite povzetek lista

Pripravite zbirko podatkov listov

Pripravimo bazo podatkov

Dodajte vprašanja, možnosti in pravilen odgovor na list “Baza podatkov”

Naj bo funkcionalen

Kopirajte ta skript v nov modul v delovnem zvezku, ki podpira makre.

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

Kopirajte ta skript v kodno okno na listu "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

Kopirajte ta skript v kodno okno »ThisWorkook«

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

Kako deluje?

Ko uporabnik odpre delovni zvezek, se zažene makro, da skrije lista »Zbirka podatkov« in »Povzetek«. Če list »Baza podatkov« ni skrit pred uporabnikom, so vsi odgovori izpostavljeni. Prav tako ni potrebno, da študent vidi list »Povzetek«. Pred pošiljanjem delovnega zvezka uporabnikom je treba zagnati makro »Prepare_Test«, ki bo zapolnil list »Test«. Uporabniki lahko izberejo katero koli možnost in makro bo izbrani odgovor označil rumeno. Makro “Show_Result” bo primerjal izbrane možnosti na listu “Test” z odgovori na listu “Baza podatkov” in identificiral število pravilnih odgovorov.

Ali Listi niso skriti?

Skript VBA ne more opozoriti na lastnosti poškodovanega Excelovega delovnega lista. V takem primeru obnoviti Excel delovni list in znova zaženite makro.

Uvod avtorja:

Nick Vipond je strokovnjak za obnovitev podatkov v DataNumen, Inc., ki je vodilna na svetu na področju tehnologij za obnovitev podatkov, vključno z poškodovana Word in obeti za obnovitev programske opreme. Za več informacij obiščite www.datanumen.com

Skupna raba zdaj:

Komentarji so zaprti.