¿Se puede dar formato $moneda a columna de listbox?

Recurro a ustedes para obtener ayuda sobre un código que no logro superarlo.

Este código llama unos datos y los carga en un listbox1, necesito que en la columna6 (fila6") del listbox1 el formato para mostrar en el userform sea "moneda $" .

Dejo el codigo para que me den una mano, intente con ListBox1.List(ListBox1.ListCount - 1, 6) = Format(CAN, "$#,##0.00") . No tuve resultado.

Aguardo sus comentarios.

Set DATOS = Sheets("AUX_DB_ESTADOFC").Range("A1").CurrentRegion
CUIT_PRODUCTOR = ComboBox1.Value
Set H = Sheets("AUX_PP_ESTADOFC")
H.Cells.Clear
With DATOS
    .AutoFilter
    .AutoFilter FIELD:=10, Criteria1:=CUIT_PRODUCTOR
    .Copy
    H.Range("A1").PasteSpecial Paste:=xlPasteValues
    Set tabla = H.Range("A1").CurrentRegion
    With tabla
        Filas = .Rows.Count: COL = .Columns.Count
        MATRIZ = .Cells(2, 1).Resize(Filas, COL - 0)
        With ListBox1
            .ColumnCount = COL
            .ColumnWidths = "0;0;0;70;60;70;130;0;0;0;0;0;70;0;0"
            .List = MATRIZ
        End With
    End With
    .AutoFilter
End With

2 Respuestas

Respuesta
2

Revisa el siguiente vídeo para poner formato a los datos que vas a cargar en el ListBox:

Excel. Cargar datos en un ListBox con formato. - YouTube

Te invito a SUSCRIBIRTE a mi canal:

Tutoriales Excel y Macros - YouTube

Quieres saber más sobre matrices, revisa el CURSO completo:

Curso de Macros y Matrices en Excel. Ejercicio 1 - YouTube

Curso de Macros y Matrices en Excel. Ejercicio 2 - YouTube

Curso de Macros y Matrices en Excel. Ejercicio 3 - YouTube

Sal u dos

Respuesta
2

Como estás pasando toda la MATRIZ en un solo paso, luego tendrás que asignar el formato a cada columna de la lista ya cargada.

Por ejemplo, asigno el formato moneda solo a la col 6 de la lista:

'A continuación de este ciclo With     
        With ListBox1
            .ColumnCount = COL
            .ColumnWidths = "0;0;0;70;60;70;130;0;0;0;0;0;70;0;0"
            .List = MATRIZ
        End With
'se agrega solo un formato solo a la col 6
        For i = 0 To ListBox1.ListCount - 1
            ListBox1.List(i, 6) = Format(ListBox1.List(i, 6), "$#,##0.00")
        Next i
'sigue el resto de tu código

Por supuesto que se puede asignar a más de una col, otro formato, etc. ... solo traté de ajustarlo a tu ejemplo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas