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
vsebina
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

