ในฐานะผู้ฝึกสอนคุณจะจัดสัมมนาให้กับนักเรียนของคุณหลายครั้ง ตอนนี้ถึงเวลาที่คุณจะแบ่งปันสมุดงาน 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
มันทำงานอย่างไร?
เมื่อผู้ใช้เปิดสมุดงานแมโครจะทำงานเพื่อซ่อนแผ่นงาน“ ฐานข้อมูล” และ“ สรุป” หากแผ่นงาน“ ฐานข้อมูล” ไม่ได้ซ่อนจากผู้ใช้คำตอบทั้งหมดจะถูกเปิดเผย นอกจากนี้ยังไม่จำเป็นที่นักเรียนจะต้องดูแผ่นงาน "สรุป" ก่อนที่จะส่งสมุดงานให้กับผู้ใช้ควรเรียกใช้มาโคร“ เตรียมการ _ ทดสอบ” ซึ่งจะเติมข้อมูลในแผ่นงาน“ ทดสอบ” ผู้ใช้สามารถเลือกตัวเลือกใดก็ได้และมาโครจะเน้นคำตอบที่เลือกเป็นสีเหลือง มาโคร“ Show_Result” จะเปรียบเทียบตัวเลือกที่เลือกบนแผ่นงาน“ ทดสอบ” กับคำตอบในแผ่นงาน“ ฐานข้อมูล” และระบุจำนวนคำตอบที่ถูกต้อง
ไม่มีชีตซ่อนอยู่ใช่ไหม
สคริปต์ VBA ไม่สามารถแจ้งเตือนคุณสมบัติของแผ่นงาน Excel ที่เสียหาย ในกรณีเช่นนี้ กู้คืน Excel แผ่นงานและเรียกใช้แมโครอีกครั้ง
บทนำผู้เขียน:
Nick Vipond เป็นผู้เชี่ยวชาญด้านการกู้คืนข้อมูลใน DataNumen, Inc. ซึ่งเป็นผู้นำระดับโลกด้านเทคโนโลยีการกู้คืนข้อมูล ได้แก่ Word เสียหาย และผลิตภัณฑ์ซอฟต์แวร์กู้คืน Outlook ดูข้อมูลเพิ่มเติมได้ที่ wwwdatanumenด้วย.

