Capturar al datos de combobox y textbox al mismo tempo que datos del listbox a una hoja de excel

Para Dante Amor

Hola, mira tengo el siguiente código, el cual me sirve para pasar datos de mi listbox a excel

, lo que quisiera es que tengo también otros combobox y textbox que no agrego al listbox pero me gustaria que la captura se hiciera a la par con esto es decir si mi listbox captura de columna 5 a 9 quisiera que la información de combobox y los textbox se capturen de 1 a 4

Agradecería mucho tu apoyo.

Dim Fila As Integer
Dim Final As Integer

Fila = 3

Do While Hoja3.Cells(Fila, 1) <> ""
Fila = Fila + 1
Loop
Final = Fila

For I = 0 To Me.ListBox1.ListCount - 1
Hoja3.Cells(Final, 1) = Me.ListBox1.List(I, 0)
Hoja3.Cells(Final, 2) = Me.ListBox1.List(I, 1)
Hoja3.Cells(Final, 3) = Me.ListBox1.List(I, 2)
Hoja3.Cells(Final, 4) = Me.ListBox1.List(I, 3)
Hoja3.Cells(Final, 5) = Me.ListBox1.List(I, 4)
Hoja3.Cells(Final, 6) = Me.ListBox1.List(I, 5)
Final = Final + 1
Next
ListBox1.Clear
I = 0
TXT. SetFocus

1 respuesta

Respuesta
2

H o l a:

Te anexo la macro actualizada:

Private Sub CommandButton1_Click()
    Dim Fila As Integer
    '
    Fila = 3
    Do While Hoja3.Cells(Fila, 1) <> ""
        Fila = Fila + 1
    Loop
    For i = 0 To Me.ListBox1.ListCount - 1
        Hoja3.Cells(Fila, 1) = txt
        Hoja3.Cells(Fila, 2) = TextBox2
        Hoja3.Cells(Fila, 3) = ComboBox1
        Hoja3.Cells(Fila, 4) = ComboBox2
        Hoja3.Cells(Fila, 5) = Me. ListBox1.List(i, 0)
        Hoja3.Cells(Fila, 6) = Me. ListBox1.List(i, 1)
        Hoja3.Cells(Fila, 7) = Me. ListBox1.List(i, 2)
        Hoja3.Cells(Fila, 8) = Me. ListBox1.List(i, 3)
        Hoja3.Cells(Fila, 9) = Me. ListBox1.List(i, 4)
        Hoja3.Cells(Fila, 10) = Me. ListBox1.List(i, 5)
        Fila = Fila + 1
    Next
    ListBox1.Clear
    i = 0
    txt.SetFocus
End Sub

Si no hay datos después de la última fila con datos, entonces puedes obtener la última fila con datos:

Fila = Hoja3.Range("A" & Rows.Count).End(xlUp).Row

Y desde luego, la primer fila vacía con lo siguiente:

Fila = Hoja3.Range("A" & Rows.Count).End(xlUp).Row + 1

En la macro quedaría así:

Private Sub CommandButton1_Click()
    Dim Fila As Integer
    '
    Fila = Hoja3.Range("A" & Rows.Count).End(xlUp).Row + 1
    For i = 0 To Me.ListBox1.ListCount - 1
        Hoja3.Cells(Fila, 1) = txt
        Hoja3.Cells(Fila, 2) = TextBox2
        Hoja3.Cells(Fila, 3) = ComboBox1
        Hoja3.Cells(Fila, 4) = ComboBox2
        Hoja3.Cells(Fila, 5) = Me. ListBox1.List(i, 0)
        Hoja3.Cells(Fila, 6) = Me. ListBox1.List(i, 1)
        Hoja3.Cells(Fila, 7) = Me. ListBox1.List(i, 2)
        Hoja3.Cells(Fila, 8) = Me. ListBox1.List(i, 3)
        Hoja3.Cells(Fila, 9) = Me. ListBox1.List(i, 4)
        Hoja3.Cells(Fila, 10) = Me. ListBox1.List(i, 5)
        Fila = Fila + 1
    Next
    ListBox1.Clear
    i = 0
    txt.SetFocus
End Sub

':)
':)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas