作為培訓師,您會為您的學生舉辦幾次研討會。 現在是時候與學生共享Excel工作簿了,這將幫助您確定他們的理解程度。 請按照本文準備多選數字考試表。
立即下載
如果你想tart盡快使用該軟件,那麼您可以:
否則,如果要DIY,可以閱讀以下內容。
讓我們準備GUI
內容
準備數據庫
在“數據庫”表上添加問題,選項和正確答案
讓它發揮作用
將此腳本複製到啟用了宏的工作簿中的新模塊。
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
將此腳本複製到“測試”表的代碼窗口中
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
將此腳本複製到“ ThisWorkook”的代碼窗口中
Private Sub Workbook_Open()
Call Module1.Prepare_Test
Sheets("Database").Visible = 2
Sheets("Summary").Visible = 2
End Sub
如何運作?
當用戶打開工作簿時,宏將運行以隱藏工作表“數據庫”和“摘要”。 如果沒有向用戶隱藏“數據庫”工作表,則會顯示所有答案。 學生也沒有必要查看“摘要”表。 在將工作簿發送給用戶之前,應運行宏“ Prepare_Test”,該宏將填充工作表“ Test”。 用戶可以選擇任何選項,宏將以黃色突出顯示選定的答案。 宏“ Show_Result”將比較“測試”表上的所選選項和“數據庫”表上的答案,並標識正確答案的數量。
表格沒有隱藏嗎?
VBA腳本無法警告損壞的Excel工作表的屬性。 在這種情況下, 恢復Excel 工作表並重新運行宏。
作者簡介:
Nick Vipond是的數據恢復專家 DataNumen,Inc.是數據恢復技術的全球領導者,包括 損壞的詞 和Outlook恢復軟件產品。 欲了解更多信息,請訪問 萬維網。datanumen.COM

