



Al trabajar con valores numéricos, resulta muy molesto aplicar formato de número a la hoja Excel, pudiendo recurrir a las macros.

Disponemos en nuestra hoja diferentes celdas con valores numéricos y deseamos modificar su formato por el deseado.

- CREAR MACRO VBA
Abrir el libro Excel deseado.
Pulsar la tecla Alt y mantener pulsada
Pulsar la tecla F11. Mostrará el editor de Visual Basic.
Ir a: Barra de Menú
Insertar
Módulo. Mostrará la ventana del módulo donde escribimos la macro.
Escribir el código de la macro:
Sub Numero_Decimal()
Application.ScreenUpdating = False
Application.DisplayAlerts = Falsefila = ActiveCell.SpecialCells(xlLastCell).Row
columna = ActiveCell.SpecialCells(xlLastCell).ColumnFor i = 1 To fila
For j = 1 To columnaCells(i, j).Select
ActiveCell.NumberFormat = "#,##0.00"Next
NextApplication.DisplayAlerts = True
Application.ScreenUpdating = TrueEnd Sub
Podemos cambiar el formato "#,##0.00" en el código, por el deseado (en formato inglés, delimitadores puntos y comas):
Formato | Muestra |
---|---|
"0" | 1000 |
"0.00" | 1000,00 |
"#,##0.00" | 1.000,00 |
"#,##0.000" | 1.000,000 |
"#,##0.00 €" | 1.000,00 € |
"€ #,##0.00" | € 1.000,00 |
"#,##0 € ;[Red]-#,##0 €" | 1.000 € -1.000 € |
"#,##0.00_ ;[Red]-#,##0.00 " | 1.000,00 -1.000,00 |
"#,##0.00 € ;[Red]-#,##0.00 €" | 1.000,00 € -1.000,00 € |
"[$USD] #,##0.00" | USD 1.000,00 |
- EJECUTAR LA MACRO
Ir a: Ventana de Excel
Hoja deseada.
Pulsar la tecla Alt y mantener pulsada
Pulsar la tecla F8. Mostrará la ventana de macro con las macros disponibles.
Ejecutar la macro: "Numero_Decimal". Macro creada.
Verificar como aplica el formato con punto de mil y dos decimales.


Quiero incorporar a través de un texbox1 un importe de la siguiente forma 21.560.070, 50 y otro texbox2 un importe de igual forma que primer ejemplo pero ante ponerle el símbolo de mi moneda en. $, y en otro textbox3 un importe
ejemplo 567.470.350,85 ; como debería realizarlo, Gracias
Hola Victor,
Interpreto por lo que dices que el texbox es en VBA.
El código sería TextBox1 = Format(tunúmero,"#.##0,00")
Saludos.
Buenas tardes, tengo un formulario con dos textbox que quiero convertir en numero en libro de excel, la macro es la siguiente:
ActiveSheet.Cells(8,8)=CDbl(TextIngreso)
ActiveSheet.Cells(8,9)=CDbl(TextPago)
Si aplico solo un textbox lo hace correctamente, pero conjuntamente los dos me da error 13.
¿Como podría solucionar este error?
Gracias anticipadas.
Hola Ignacio,
Declara antes las 2 variables...
Saludos.
Buenas, me gustaría que esta macro me sirviera para el rango de celdas que forman el cuadro que están implicadas desde la b8:z8 hasta la b37:z37. ¿Cómo debería escribirla? Gracias.
Hola Belen,
Puedes aplicar un código como:
Sub Formato()
Dim celda As Range
For Each celda In Selection
Range("B8:Z8").NumberFormat = "#,##0.00"
Range("B37:Z37").NumberFormat = "#,##0.00"
Next
End Sub
Saludos.