Error de formato al pasar listbox a excel

Nuevamente a todoexpertos... Tengo un problema al pasar datos de un listbox a una hoja excel, cuando realizo el comando me copia todo lo que necesito, pero me modifica los valores. No quedan como numero general y si queda en formato moneda pero me reduce los registros.

Eh colocado el comando format en los textbox de donde ingreso el registro al listbox y todo bien, pero cuando quiero pasar ese mismo dato con ese formato al excel este no queda igual.

.- Imagen de mi listbox

.- Imagen de la hoja excel

.- Este es mi código para ejecutar el comando

Private Sub Imprimir_Click()
Dim Fila As Integer
Dim Final As Integer
Dim i As Integer
    For Fila = 19 To 38
           If Hoja11.Cells(Fila, 3) = "" Then
               Final = Fila
               Exit For
           End If
    Next
    For i = 0 To ListBox1.ListCount - 1
        Hoja11.Cells(Final, 3) = ListBox1.List(i, 0)
        Hoja11.Cells(Final, 4) = ListBox1.List(i, 1)
        Hoja11.Cells(Final, 9) = ListBox1.List(i, 2)
        Hoja11.Cells(Final, 10) = ListBox1.List(i, 3)
        Hoja11.Cells(Final, 11) = ListBox1.List(i, 4)
        Final = Final + 1
    Next
Hoja11.Range("J7").Value = Frm_GeneraCotizacion.Label_Folio
Hoja11.Range("D12").Value = Frm_GeneraCotizacion.Label_Fecha
Hoja11.Range("D13").Value = Frm_GeneraCotizacion.Cbo_RutCliente
Hoja11.Range("D14").Value = Frm_GeneraCotizacion.Label_Cliente
Hoja11.Range("D15").Value = Frm_GeneraCotizacion.Label_Direccion
Hoja11.Range("D16").Value = Frm_GeneraCotizacion.Label_Comuna
Hoja11.Range("I12").Value = Frm_GeneraCotizacion.Label_FonoOficina
Hoja11.Range("I13").Value = Frm_GeneraCotizacion.Label_MailOficina
Hoja11.Range("I14").Value = Frm_GeneraCotizacion.Label_Contacto
Hoja11.Range("I15").Value = Frm_GeneraCotizacion.Label_Fono
Hoja11.Range("I16").Value = Frm_GeneraCotizacion.Label_Mail
Hoja11.Range("K40").Value = Frm_GeneraCotizacion.Txt_TotalNeto
Hoja11.Range("K41").Value = Frm_GeneraCotizacion.Txt_IVA
Hoja11.Range("K42").Value = Frm_GeneraCotizacion.Txt_Total
Hoja11.Range("F42").Value = Frm_GeneraCotizacion.Txt_Descuento
Hoja11.Range("F43").Value = Frm_GeneraCotizacion.Txt_Dias
End Sub

Por favor puedan orientarme como corregir ese problema...

2 respuestas

Respuesta
1

Antes del end sub agrega estas líneas, solo sustituye el numero de la hoja por el que estés manejando y también el numero de columna donde estén apturados tus datos, estas instrucciones convertirán todas las filas de esas columnas en formato moneda de 3 decimales

With Hoja1
    .Columns(1).NumberFormat = "$ 0.000"
    .Columns(4).NumberFormat = "$ 0.000"
End With

¡Gracias! Me sirvió lo que me indica... lo único es que me deja en coma el valor de mil. de esta forma $410,210. Se puede arreglar?

Este cambio en la instrucción te pone el resultado como quieres, solo modifica las instrucciones anteriores cambiándola por esta.

columns(1).numberformat="$ 0,0.000"

Respuesta

[Hola. Seguro que  tienes en la hoja el formato con tres decimales?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas