Formulario de captura en excel que de acuerdo a un valor, los fatos se vayan a distintas hojas

Requiero hacer un formulario de excel donde se responden unas 25 preguntas, este formulario se responde por unas 8 personas cada 2 semanas, lo que requiero es acumular todas las respuestas de cada persona en una hoja destinada a cada uno de ellos. ¿Lo qué deseo hacer es posible?

Respuesta
1

Estos ejemplos te pueden ayudar

https://youtu.be/0UuR_zRQCB4

https://youtu.be/smL4A-aRjCM

https://youtu.be/gqZzSfikEYY

https://www.programarexcel.com/2013/03/formulario-vba-para-insertar-datos.html

1 respuesta más de otro experto

Respuesta
1

Puedes poner en el formulario un combobox para seleccionar el nombre de la persona.

El combo se cargará con los nombres de las hojas, por ejemplo:

Private Sub UserForm_Activate()
'Por Dante Amor
    'cargar los nombres de las hojas en el combo
    For Each h In Sheets
        ComboBox1.AddItem h.Name
    Next
End Sub

Ahora para pasar los datos del form a la hoja, revisa el siguiente ejemplo:

Private Sub CommandButton1_Click()
'Por Dante Amor
    'pasar los datos del form a la hoja
    'valida al hoja
    If ComboBox1.Value = "" Or ComboBox1.ListIndex = -1 Then
        MsgBox "Seleciona un nombre correcto"
        ComboBox1.SetFocus
        Exit Sub
    End If
    '
    'valida primer textbox
    If TextBox1.Value = "" Then
        MsgBox "Captura el dato en textbox1"
        TextBox1.SetFocus
        Exit Sub
    End If
    '
    'ejemplo para pasar los datos a la hoja del nombre seleccionado en el combo
    Set h = Sheets(ComboBox1.Value)
    u = h.Range("A" & Rows.Count).End(xlUp).Row + 1
    h.Cells(u, "A").Value = TextBox1.Value
    h.Cells(u, "B").Value = TextBox2.Value
    '
    'Limpia los dato para otra captura
    ComboBox1.Value = ""
    TextBox1.Value = ""
    TextBox2.Value = ""
    '
    MsgBox "Registro guardado en la hoja: " & h.Name
End Sub

Pon ambos códigos en el userform, prueba y me comentas.


¡Gracias!, como siempre muy acertado con tus respuestas Dante Amor, agradezco el apoyo y una disculpa por la demora en contestar, no había tenido el tiempo adecuado para aplicar el ejemplo 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas