Enviar datos de un lisbox a excel en columnas

Hola experto ojala me puedas ayudar mira tengo un programa que lee un archivo txt delimitado este archivo lo abro con un commondialog y lo muestro en un textbox luego ingreso los delimitadores por pantalla y luego corta el texto y muestra el texto cortado en un lisbox en el cual esta con la propiedad 1-checkbox el cula me permite seleccionar lo que no deseo y luego lo elimino luego toda la información que queda la envío a una hoja excel hasta ahí todo bien el problema es que me envía toda la información en una sola columna y yo necesito que me reparta la información en 4 columnas que me tome los promeros 4 datos del lisbox y los envíe a excel en 4 columnas, luego los 4 datos siguientes del lisbox lo envíe a excel en la fila que sigue
Ojala me puedas ayudar ya que este problema lo tengo hace mucho tiempo .
De ante mano muchas gracias

1 respuesta

Respuesta
1
Separa los datos con comas, así excel entiende que son columnas diferentes. EL archivo debe tener la extensión. Csv
Disculpa experto sabes yo soy nueva en visual por favor me puedes ayudar un poco con el código, mira te dejo el código que me permite enviar los datos del listbox a excel
Public Function HojaExcel(ByVal ruta As String)
Dim XlsApl As Excel.Application
Dim xlsLibro As Excel.Workbook
Dim x As Long
Set XlsApl = New Excel.Application
With XlsApl
.Workbooks.Add
Set xlsLibro = .ActiveWorkbook
With xlsLibro.Worksheets(1)
.Activate
For x = 0 To List1.ListCount
.Cells(x + 1, 1) = List1.List(x)
Next x
End With
.Visible = True
End With
xlsLibro.SaveAs (ruta)
xlsLibro.Close (ruta)
Set xlsLibro = Nothing
Set XlsApl = Nothing
end function.
Ojala me puedas ayudar ya que no encuentro la solución
Lo que esta en negritas es lo que ue debes incluir en tu código o cambiar en lo que tienes, ubicate por el with para que sepas en que paste debes modificar.
...
<span style="font-weight: bold;">dim Fila as integer</span>
<span style="font-weight: bold;">dim col as integer</span>
with xlsLibro.Worksheets(1)
.Activate
<span style="font-weight: bold;">fila= 1</span>
<span style="font-weight: bold;">col = 1</span>
for x=0 to List1.listCount
.cells(fila, col) = List1.List(x)
<span style="font-weight: bold;">if col <4 then</span>
<span style="font-weight: bold;">col = col +1</span>
<span style="font-weight: bold;">endif</span>
<span style="font-weight: bold;">if col > 4  then</span>
<span style="font-weight: bold;">fila = fila + 1</span>
<span style="font-weight: bold;">col=1</span>
<span style="font-weight: bold;">endif</span>
Next x
End with 
...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas