Corregir Datos Aprovechando TextBox existentes en un UserForm

Dante Amor, tengo una Macro en un libro que usted me ayudo a corregir hace unos días, el UserForm posee 12 TextBox (TextBox2 al TexBox13) para ingresar datos en las mas de 30 Hojas que lo componen, quiero saber si se pueden utilizar esos mismos TextBox para realizar correcciones. Tenga en cuenta que la Hoja se elige en un ComboBox (ComboBox2) y el contenido se muestra en un ListBox (ListBox2). Que información necesita para ayudarme.

1 Respuesta

Respuesta
1

H o l a : Envíame tu archivo con el formulario para revisarlo.

En el asunto del correo escribe tu nombre de usuario “Eduardo Oscar Albertarelli” y el título de esta pregunta.

Hola Dante Amor, perdón pero no se como obtener su mail.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “Eduardo Oscar Albertarelli” y el título de esta pregunta.

Para modificar un registro, primero hay que presionar dobleclick sobre el registro del listbox y llenar los textbox. Para eso el siguiente evento:

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
'Por.Dante Amor
    'Pasa los datos del listbox a los textbox
    'txtColumna1 = ListBox1.List(ListBox1.ListIndex, 0)
    txtColumna1 = ListBox1.List(ListBox1.ListIndex, 1)
    txtColumna2 = ListBox1.List(ListBox1.ListIndex, 2)
    txtColumna3 = ListBox1.List(ListBox1.ListIndex, 3)
    txtColumna4 = ListBox1.List(ListBox1.ListIndex, 4)
    txtColumna5 = ListBox1.List(ListBox1.ListIndex, 5)
    txtColumna6 = ListBox1.List(ListBox1.ListIndex, 6)
    txtColumna7 = ListBox1.List(ListBox1.ListIndex, 7)
    txtColumna8 = ListBox1.List(ListBox1.ListIndex, 8)
    txtColumna9 = ListBox1.List(ListBox1.ListIndex, 9)
    txtColumna10 = ListBox1.List(ListBox1.ListIndex, 10)
    txtColumna11 = ListBox1.List(ListBox1.ListIndex, 11)
    txtColumna12 = ListBox1.List(ListBox1.ListIndex, 12)
End Sub

Ahora, después de actualizar los datos en los textbox, necesitamos de otro botón para realizar los cambios en la hoja.

Para eso el siguiente:

Private Sub CommandButton1_Click()
'Modificar datos
    'mensaje cuando no se eligio hoja
    If ComboBox1.ListIndex = -1 Or ComboBox1.Value = "" Then
        MsgBox "Selecciona una hoja", vbExclamation
        Exit Sub
    End If
    If ListBox1.ListIndex = -1 Then
        MsgBox "Selecciona una línea del listbox", vbExclamation
        Exit Sub
    End If
    Set h = Sheets(ComboBox1.Value)
    fila = ListBox1.ListIndex + 3
    h.Cells(fila, 2) = txtColumna1
    h.Cells(fila, 3) = txtColumna2
    h.Cells(fila, 4) = txtColumna3
    h.Cells(fila, 5) = txtColumna4
    h.Cells(fila, 6) = txtColumna5
    h.Cells(fila, 7) = txtColumna6
    h.Cells(fila, 8) = txtColumna7
    h.Cells(fila, 9) = txtColumna8
    h.Cells(fila, 10) = txtColumna9
    h.Cells(fila, 11) = txtColumna10
    h.Cells(fila, 12) = txtColumna11
    h.Cells(fila, 13) = txtColumna12
    ComboBox1_Click
    txtColumna1.Text = ""
    txtColumna2.Text = ""
    txtColumna3.Text = ""
    txtColumna4.Text = ""
    txtColumna5.Text = ""
    txtColumna6.Text = ""
    txtColumna7.Text = ""
    txtColumna8.Text = ""
    txtColumna9.Text = ""
    txtColumna10.Text = ""
    txtColumna11.Text = ""
    txtColumna12.Text = ""
    MsgBox "Registro actualizado"
End Sub

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas