Cómo hacer una hoja de examen de opción múltiple en Excel

Comparte ahora:

Como formador, habría dirigido varios seminarios a sus alumnos. Ahora es el momento de que comparta un libro de trabajo de Excel con sus alumnos que le ayudará a identificar cuánto han entendido. Prepare una hoja de examen digital de opción múltiple siguiendo este artículo.

Descargar Ahora

Si desea comenzar a utilizar el software lo antes posible, puede:

Descargue el software ahora

De lo contrario, si desea hacer bricolaje, puede leer el contenido a continuación.

Preparemos la GUI

ContenidoPrepare la hoja de prueba

Prepare el resumen de la hoja

Prepare la base de datos de la hoja

Preparemos la base de datos

Agregue preguntas, opciones y la respuesta correcta en la hoja "Base de datos"

Hagámoslo funcional

Copie este script en un nuevo módulo en su libro de trabajo habilitado para macros.

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

Copie este script en la ventana de código de la hoja "Prueba"

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

Copie este script en la ventana de código de "ThisWorkook"

Private Sub Workbook_Open()
    Call Module1.Prepare_Test
    Sheets("Database").Visible = 2
    Sheets("Summary").Visible = 2
End Sub

¿Cómo funciona?

Cuando un usuario abre el libro de trabajo, la macro se ejecutará para ocultar las hojas "Base de datos" y "Resumen". Si la hoja "Base de datos" no se oculta al usuario, se exponen todas las respuestas. Tampoco es necesario que un estudiante vea la hoja de “Resumen”. Antes de enviar el libro a los usuarios, se debe ejecutar la macro "Prepare_Test" que llenará la hoja "Prueba". Los usuarios pueden seleccionar cualquier opción y la macro resaltará la respuesta seleccionada en amarillo. La macro "Show_Result" comparará las opciones seleccionadas en la hoja "Prueba" con las respuestas en la hoja "Base de datos" e identifica el recuento de respuestas correctas.

¿Las sábanas no están ocultas?

El script de VBA no puede alertar a las propiedades de una hoja de cálculo de Excel dañada. En cuyo caso, recuperar Excel hoja de trabajo y vuelva a ejecutar la macro.

Introducción del autor:

Nick Vipond es un experto en recuperación de datos en DataNumen, Inc., que es el líder mundial en tecnologías de recuperación de datos, incluyendo palabra dañada y productos de software de recuperación de Outlook. Para más información visite www.datanumen.com

Comparte ahora:

Los comentarios están cerrados.