作为培训师,您会为您的学生举办多次研讨会。 现在是您与学生共享 Excel 工作簿的时候了,这将帮助您确定他们的理解程度。 按照本文准备多项选择题数字试卷。
立即下载
如果您想尽快开始使用该软件,那么您可以:
否则,如果你想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”将比较工作表“Test”上的选定选项与工作表“Database”上的答案,并确定正确答案的数量。
表格没有隐藏吗?
VBA 脚本无法警告损坏的 Excel 工作表的属性。 在这种情况下, 恢复 Excel 工作表并重新运行宏。
作者简介:
Nick Vipond 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 损坏的字 和 outlook 恢复软件产品。 欲了解更多信息,请访问 datanumen.com

