Saltar al contenido
PROGRAMAR EN VBA MACROS DE EXCEL

Como dar FORMATO de MONEDA a Item LISTBOX #336

Formato Moneda Numero Listbox Excel VBA

Formato Moneda a Items de Columna de Listbox

Esta macro muestra como es posible dar formato moneda a una columna de un listbox de Excel VBA, la macro cada vez que se ingresa un item al listbox procede a dar formato moneda a las columnas del listbox precio e importe, esta última columna surge de multiplicar las columnas precio y cantidad, siendo el resultado un listbox cuyas columnas precio e importe tienen formato moneda en este caso,  el formato moneda Euro.

Aprende Excel con los mejores, haz click acá, si quieres aprender sobre Excel en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet, te lo recomiendo no te arrepentirás.

  
 

En el vídeo verás la macro en acción con una explicación más detallada de su codificación y funcionamiento, recomiendo observar para una más fácil comprensión de la macro; suscribe a nuestro canal de You Tube, mira el playlist con  vídeos relacionados donde podrás ver la macro en acción con una explicación en forma visual que ayudará a entender el ejemplo en forma más fácil.

Cambiar Formato a Columnas ListBox por formato MONEDA o CURRENCY

Ese ejemplo es parte de otro desarrollo mayor, solo se explicará la parte del código que permite dar formato de moneda a las columnas de un listbox, el ejemplo completo que es como generar una factura en Excel pueden verlo desde este link.

Se debe presionar el botón que dice ejecutar en el libro de ejemplo, se mostrará un formulario que permite generar una factura en Excel, se debe ingresar la fecha en el Textbox correspondiente.

Luego ingresar los primeros caracteres para que se muestre un formulario con el nombre de los clientes, seleccionar un cliente, luego presionar la lupa, se abrirá otro formulario con los productos a facturar seleccionando un producto y presionando Enter se mostrará un pequeño formulario que solicita la cantidad de producto a facturar.

Este pequeño formulario es el que maneja los datos que se deben mostrar en el Listbox del formulario principal, al ingresar la cantidad en el Listbox se mostrará el producto correspondiente la cantidad ingresada el precio de venta del producto que lo extrae de la base de datos y el importe total, el precio unitario y el importe total se muestran con un formato de moneda (Currency) en el Listbox.

Explicación del código que permite mostrar un formato moneda en listbox al presionar Enter

Como se dijo del formulario que se muestra y solicita la cantidad del producto a facturar, es donde está el código para dar formato moneda a los item del listbox.

El formulario detecta cuando se presiona Enter y se ejecuta los procedimientos necesarios, para detectar si se presionó Enter se determina si la tecla presionada es igual a 13 que es el número asignado a Enter en el código Ascii, se usa el código:

KeyCode = 13 Then

Seguidamente se procede a cargar los items al listbox, previamente los datos necesarios relacionados con el articulo fueron cargados en variables públicas y extraídos del Userform1 que es donde se muestra la base de datos con los distintos productos a la venta, se usan los siguientes códigos:

can = Val(UserForm3.TextBox1)
UserForm2.ListBox1.AddItem cod
UserForm2.ListBox1.List(UserForm2.ListBox1.ListCount – 1, 1) = art
UserForm2.ListBox1.List(UserForm2.ListBox1.ListCount – 1, 2) = mar

A medida que va cargando los datos en listbox la macro automáticamente ca agregando el formato moneda a los item del listbox  de las columnas precio y cantidad y formato número con dos decimales a valores del listbox de la columna cantidad, los códigos son los siguientes:

UserForm2.ListBox1.List(UserForm2.ListBox1.ListCount – 1, 3) = Format(pv, » «»€»» #,##0.00 «)
UserForm2.ListBox1.List(UserForm2.ListBox1.ListCount – 1, 4) = Format(can, «#,##0.00;-#.##0,00»)
UserForm2.ListBox1.List(UserForm2.ListBox1.ListCount – 1, 5) = Format((pv * 0.16), » «»€»» #,##0.00 «)
UserForm2.ListBox1.List(UserForm2.ListBox1.ListCount – 1, 6) = Format(((can * pv) * 1.16), » «»€»» #,##0.00 «)


Quizás también interese leer:

Como buscar datos en Excel y crear hyperlink link hipervinculo al registro 
Como buscar datos en Excel conservar link y crear hyperlink link hipervinculo al registro 
Como eliminar dato seleccionado del listbox con doble click 

Descarga el ejemplo llamado como dar formato a listbox Excel VBA

El link para la descarga del libro usado como ejemplo se encuentra al final del post, recomiendo sea descargado para ver la codificación lo cual permitirá comprender el vídeo y tutorial en forma más fácil, solicito aportar a sostener la esta web si está dentro de tus posibilidades, desde ya muchas gracias.

Código que se encuentra en el modulo

Public cod, art, mar, pv, ctr, creg

Sub muestra1()
UserForm2.Show
End Sub

Código que se Encuentra en Formulario 3

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
On Error Resume Next
Dim t As Variant, tot As Variant
If UserForm3.TextBox1 = Empty Or UserForm3.TextBox1 = 0 Then Exit Sub
If UserForm2.ListBox1.ListCount > 50 Then
MsgBox («No puede ingresar más de 16 articulos por factura»), vbCritical, «AVISO»
Exit Sub
End If
If KeyCode = 13 Then
can = Val(UserForm3.TextBox1)
UserForm2.ListBox1.AddItem cod
UserForm2.ListBox1.List(UserForm2.ListBox1.ListCount – 1, 1) = art
UserForm2.ListBox1.List(UserForm2.ListBox1.ListCount – 1, 2) = mar
UserForm2.ListBox1.List(UserForm2.ListBox1.ListCount – 1, 3) = Format(pv, » «»€»» #,##0.00 «)
UserForm2.ListBox1.List(UserForm2.ListBox1.ListCount – 1, 4) = Format(can, «#,##0.00;-#.##0,00»)
UserForm2.ListBox1.List(UserForm2.ListBox1.ListCount – 1, 5) = Format((pv * 0.16), » «»€»» #,##0.00 «)
UserForm2.ListBox1.List(UserForm2.ListBox1.ListCount – 1, 6) = Format(((can * pv) * 1.16), » «»€»» #,##0.00 «)
Unload UserForm3

For x = 0 To UserForm2.ListBox1.ListCount – 1
t = CDec(UserForm2.ListBox1.List(x, 6))
tot = tot + t
t = 0
Next x

UserForm2.Label16.Caption = «Total » & Format(tot, » «»€»» #,##0.00 «)
UserForm2.Label14.Caption = «Subtotal » & Format((tot / 1.16), » «»€»» #,##0.00 «)
UserForm2.Label15.Caption = «IVA » & Format(((tot / 1.16) * 0.16), » «»€»» #,##0.00 «)
End If
End Sub


Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.

If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.

Donate:
Cuenta Paypal: https://paypal.me/programarexcel
Cuenta Bitcoin: 1KBGGb8fyDzyR3X1Rie6m7VguzaAfngNbd
Cuenta Ether: 0x41Bbd24556914C83a31217eBb3BC49789b66e407

Summary
336 ❤️ Como dar  FORMATO de MONEDA a ? Item LISTBOX
Article Name
336 ❤️ Como dar FORMATO de MONEDA a ? Item LISTBOX
Description
1) Se cargan los item listbox 2) Se da el formato moneda como se explica en post 3) En Listbox se muestra columna precio e importe formato moneda 4) En Listbox se muestra columna cantidad formato número