Kā treneris jūs būtu vadījis vairākus seminārus saviem studentiem. Ir pienācis laiks koplietot Excel darbgrāmatu ar studentiem, kas palīdzēs jums noteikt, cik daudz viņi ir sapratuši. Sagatavojiet atbilžu variantu digitālo eksāmenu lapu, sekojot šim rakstam.
Lejupielādēt tagad
Ja vēlaties sākt lietot programmatūru pēc iespējas ātrāk, varat:
Lejupielādējiet programmatūru tūlīt
Pretējā gadījumā, ja vēlaties DIY, varat izlasīt tālāk sniegto saturu.
Sagatavosim GUI
saturs
Sagatavosim datu bāzi
Pievienojiet jautājumus, opcijas un pareizo atbildi lapā “Datu bāze”
Padarīsim to funkcionālu
Kopējiet šo skriptu jaunā makro iespējotās darbgrāmatas modulī.
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
Kopējiet šo skriptu lapas “Test” koda logā
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
Kopējiet šo skriptu “ThisWorkook” koda logā
Private Sub Workbook_Open()
Call Module1.Prepare_Test
Sheets("Database").Visible = 2
Sheets("Summary").Visible = 2
End Sub
Kā tas darbojas?
Kad lietotājs atver darbgrāmatu, makro darbosies, lai paslēptu lapas “Database” un “Summary”. Ja lapa “Datu bāze” nav paslēpta no lietotāja, tiek atklātas visas atbildes. Studentam nav arī jāredz lapa “Kopsavilkums”. Pirms darbgrāmatas nosūtīšanas lietotājiem jāizpilda makro “Prepare_Test”, kas aizpildīs lapu “Test”. Lietotāji var izvēlēties jebkuru opciju, un makro iezīmēs atlasīto atbildi dzeltenā krāsā. Makro “Show_Result” salīdzinās atlasītās lapas “Test” opcijas ar atbildēm lapā “Database” un identificēs pareizo atbilžu skaitu.
Vai Loksnes nav paslēptas?
VBA skripts nevar brīdināt par bojātas Excel darblapas īpašībām. Šādā gadījumā atgūt Excel darblapu un atkārtoti palaidiet makro.
Autora ievads:
Niks Viponds ir datu atkopšanas eksperts DataNumen, Inc., kas ir pasaules līderis datu atkopšanas tehnoloģiju, tostarp sabojāts vārds un perspektīvas atkopšanas programmatūras produktus. Lai iegūtu vairāk informācijas, apmeklējiet vietni www.datanumen. Ar

