Como cargar un listview con una columna en formato de moneda

Tengo un archivo donde manejo información de costos, ventas y margenes... Cuando activo el userform se me carga un listview con la información de una tabla de gastos por mes... En esa tabla me aparecen los meses del año en una columna y en las 4 columnas siguientes los conceptos de gastos que utilizo, así como los totales... En esas 4 columnas se me cargan los importes de gastos de cada mes, solo que me aparecen como números sin el signo de pesos y o que quiero hacer es que al cargarse el formulario y el listview, esas 4 columnas me aparezcan con formato de moneda... Ojala pudieran ayudarme... Mjuchisimas gracias.

Aquí les dejo el código:

Sub CargarValoresListView()
'====== DECLARAMOS VARIABLES ======
Dim Rango As Range
Dim Celda As Range
Dim Item As ListItem
Dim Filas As Long
Dim Columnas As Long
Dim i As Long
Dim j As Long
Set Rango = Hoja33.Range("A15").CurrentRegion
Filas = Rango.Rows.Count
Columnas = Rango.Columns.Count
'====== AÑADIR ENCABEZADOS ======
With Me.ListView1
.ColumnHeaders.Add Text:="MESES 2022", Width:=80
.ColumnHeaders.Add Text:="MERCANCIA", Width:=60, Alignment:=2
.ColumnHeaders.Add Text:="CUENTA BANCO", Width:=90, Alignment:=2
.ColumnHeaders.Add Text:="CAJA CHICA", Width:=100, Alignment:=2
.ColumnHeaders.Add Text:="TL GASTOS", Width:=60, Alignment:=2
End With
For i = 2 To Filas
Set Item = Me.ListView1.ListItems.Add(Text:=Rango(i, 1).Value)
For j = 2 To Columnas
Item.ListSubItems.Add Text:=Rango(i, j).Value
Next j
Next i

End Sub

1 Respuesta

Respuesta
2

Prueba lo siguiente.

Cambia esta línea:

Item.ListSubItems.Add Text:=Rango(i, j).Value

Por esta:

Item.ListSubItems.Add Text:=Format(Rango(i, j).Value, "$#,##0.00")

¡Gracias! Resulto excelente... aunque parecía sencillo, si no sabes es complicado, pero he aprendido algo nuevo una vez más... muchísimas gracias por el aporte y la ayuda!

¿Y cómo podría poner en una label la suma del importe de cada columna de gastos para que me muestre el total por columna?

No tengo manera de probar el Listview porque no he podido instalar la referencia.

Pero prueba lo siguiente, cambia los label's por los nombres de tus label's:

  For i = 2 To Filas
    Set Item = Me.ListView1.ListItems.Add(text:=Rango(i, 1).Value)
    For j = 2 To Columnas
      Select Case j
        Case 2: label_mer = label_mer + Rango(i, j).Value 'mercancía
        Case 3: label_cta = label_cta + Rango(i, j).Value 'cuenta banco
        Case 4: label_caj = label_caj + Rango(i, j).Value 'caja chica
        Case 5: label_gas = label_gas + Rango(i, j).Value 'gasto
      End Select
      Item.ListSubItems.Add text:=Format(Rango(i, j).Value, "$#,##0.00")
    Next j
  Next i

¡Gracias! me marca un error, pero lo solucioné, poniendo en la hoja de calculo los totales y cargándolos al listview; se pueden ver los totales al final de tabla. muchísimas gracias!!!!!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas