Gracias por tu pronta respuesta.
Te explico a detalle:
Primero este es el código completo que utilizo:
Dim i As Long
Private Sub btn_Agregar_Click()
'Configuramos el Listbox
Me.ListBox1.ColumnCount = 15
Me.ListBox1.ColumnWidths = "50 pt;200 pt;40 pt;50 pt;50 pt;50 pt;50 pt;50 pt;50 pt;50 pt;50 pt"
'Agreamos los Items
Me.ListBox1.AddItem Me.TextBox1.Text
Me.ListBox1.List(i, 1) = Me.TextBox2.Text
Me.ListBox1.List(i, 2) = Me.TextBox3.Text
Me.ListBox1.List(i, 3) = Me.TextBox4.Text
Me.ListBox1.List(i, 4) = Me.TextBox5.Text
Me.ListBox1.List(i, 5) = Me.TextBox6.Text
Me.ListBox1.List(i, 6) = Me.TextBox7.Text
Me.ListBox1.List(i, 7) = Me.TextBox8.Text
Me.ListBox1.List(i, 8) = Me.TextBox9.Text
i = i + 1
'Liampiamos los TextBox
Me.TextBox1 = Empty
Me.TextBox2 = Empty
Me.TextBox3 = Empty
Me.TextBox4 = Empty
Me.TextBox5 = Empty
Me.TextBox6 = Empty
Me.TextBox7 = Empty
Me.TextBox8 = Empty
Me.TextBox9 = Empty
Me.TextBox1.SetFocus
End Sub
Private Sub btn_Eliminar_Click()
On Error GoTo Errores
Me.ListBox1.RemoveItem (ListBox1.ListIndex) 'Eliminar el item
Me.ListBox1.ListIndex = -1 ' Eliminar la "barra de selección"
For i = 0 To Me.ListBox1.ListCount - 1 'Inspeccionar el índce de registros para determinar cual es el último
Next
Me.TextBox1.SetFocus
Exit Sub
Errores:
MsgBox "Debe seleccionar una Factura"
End Sub
Private Sub btn_Procesar_Click()
Dim Fila As Integer
Dim Final As Integer
'Buscamoos la última fila
Fila = 7
Do While Hoja16.Cells(Fila, 1) <> ""
Fila = Fila + 1
Loop
Final = Fila
'Agregamos el bloque de items
For i = 0 To Me.ListBox1.ListCount - 1
Hoja16.Cells(Final, 1) = Me.ListBox1.List(i, 0) 'Sucursal
Hoja16.Cells(Final, 2) = Me.ListBox1.List(i, 1) 'NIT
Hoja16.Cells(Final, 3) = Me.ListBox1.List(i, 2) 'Razon Social
Hoja16.Cells(Final, 4) = Me.ListBox1.List(i, 3) 'Número de Factura
Hoja16.Cells(Final, 5) = Me.ListBox1.List(i, 4) 'Número de Autorización
Hoja16.Cells(Final, 6) = Me.ListBox1.List(i, 5) 'Fecha
Hoja16.Cells(Final, 7) = Me.ListBox1.List(i, 6) 'Importe Total
Hoja16.Cells(Final, 8) = Me.ListBox1.List(i, 7) 'ICE
Hoja16.Cells(Final, 9) = Me.ListBox1.List(i, 8) 'Excento
Final = Final + 1
Next
ListBox1.Clear 'Limpiamos el listbox
i = 0 'Reiniciamos el índice de registros del listbox
TextBox1.SetFocus 'Enviamos el foco al control
End Sub
Paso a detallarte.
Tengo un formulario con 15 textbox, 3 commandbutton y el listbox.
La idea es ingresas datos en los textbox y dando click al botón btn_agregar se cargen los datos primero al listbox. Una ves echo esto se limpian los texbox para volver a ingresar datos y cargarlos al listbox sin borrar los datos anteriores. Una ves ingresados todos los datos dar click al botón btn_procesar y que se vacíen todos los datos a la hoja de excel, en este caso Hoja16.
El código anterior me funciona bien, pero, me limita a 10 columnas en el listbox.
Agradezco mucho tu ayuda