Saltar al contenido

Formateo de numero en celda


Recommended Posts

publicado

Buenos días a todos;

-Con la macro que adjunto paso el valor formateado con dos decimales a la celda pero veo que si voy a la barra de fórmulas me siguen apareciendo más de dos decimales. 

Hay alguna otra solución?

Me interesa que solo sean dos decimales porque después estos datos los paso a Access y  me está cargando todos los decimales.

Saludos 

Formato.xlsm

publicado

Añade esta línea en tu macro

Sub QuitarIVA()
    Dim Hoja As Worksheet
    Dim Fila As Long
    Dim Valor As Double
    Dim ValorB As Double
    Dim PrecioConIVA As Double
    Dim PrecioSinIVA As Double

    Set Hoja = ThisWorkbook.Sheets("Datos")

    For Fila = 2 To 50
        ValorB = Hoja.Cells(Fila, 2).Value
        ' Verificar si el valor en la columna B está entre 9000 y 9999
        If ValorB >= 9000 And ValorB <= 9999 Then
            PrecioConIVA = Hoja.Cells(Fila, 8).Value

            ' Calcular el nuevo valor restando el 21% de IVA
            PrecioSinIVA = PrecioConIVA / 1.21

            ' Establecer el formato deseado con solo dos decimales tanto en la celda como en la barra de herramientas
            Hoja.Cells(Fila, 8).NumberFormat = "0.00"
            Hoja.Cells(Fila, 8).Value = PrecioSinIVA
            Hoja.Cells(Fila, 8).Value = Format(PrecioSinIVA, "0.00") '<<<<<<<<<<< Añade esta línea en tu macro
        End If
    Next Fila
End Sub

 

publicado
hace 28 minutos , JSDJSD dijo:

Añade esta línea en tu macro

Sub QuitarIVA()
    Dim Hoja As Worksheet
    Dim Fila As Long
    Dim Valor As Double
    Dim ValorB As Double
    Dim PrecioConIVA As Double
    Dim PrecioSinIVA As Double

    Set Hoja = ThisWorkbook.Sheets("Datos")

    For Fila = 2 To 50
        ValorB = Hoja.Cells(Fila, 2).Value
        ' Verificar si el valor en la columna B está entre 9000 y 9999
        If ValorB >= 9000 And ValorB <= 9999 Then
            PrecioConIVA = Hoja.Cells(Fila, 8).Value

            ' Calcular el nuevo valor restando el 21% de IVA
            PrecioSinIVA = PrecioConIVA / 1.21

            ' Establecer el formato deseado con solo dos decimales tanto en la celda como en la barra de herramientas
            Hoja.Cells(Fila, 8).NumberFormat = "0.00"
            Hoja.Cells(Fila, 8).Value = PrecioSinIVA
            Hoja.Cells(Fila, 8).Value = Format(PrecioSinIVA, "0.00") '<<<<<<<<<<< Añade esta línea en tu macro
        End If
    Next Fila
End Sub

 

 

hace 24 minutos , JSDJSD dijo:

image.thumb.gif.387688bcea0106cfaf60dd9ad4ad93a2.gif

Hola @JSDJSD , pues es eso.

Solo que tuve que cambiar un pelín la instrucción, en mi Excel el resultado lo pone como texto.

He añadido esto:

Hoja.Cells(Fila, 8).Value = CDbl(Format(PrecioSinIVA, "0.00")) '<<<<<<<<<<< Añade esta línea en tu macro

Y así ya pone el resultado como número.

Muchas gracias y muy amable.

publicado

¿No nos complicamos un poco la vida?

Sub QuitarIVA()
   Dim Hoja As Worksheet, Fila As Long
   With ThisWorkbook.Sheets("Datos")
     For Fila = 2 To 50
         ' Verificar si el valor en la columna B está entre 9000 y 9999
         If .Cells(Fila, 2) >= 9000 And .Cells(Fila, 2) <= 9999 Then
            .Cells(Fila, 8) = Round(.Cells(Fila, 8) / 1.21, 2)
         End If
     Next Fila
   End With
End Sub

 

publicado
hace 13 horas, Antoni dijo:

¿No nos complicamos un poco la vida?

Sub QuitarIVA()
   Dim Hoja As Worksheet, Fila As Long
   With ThisWorkbook.Sheets("Datos")
     For Fila = 2 To 50
         ' Verificar si el valor en la columna B está entre 9000 y 9999
         If .Cells(Fila, 2) >= 9000 And .Cells(Fila, 2) <= 9999 Then
            .Cells(Fila, 8) = Round(.Cells(Fila, 8) / 1.21, 2)
         End If
     Next Fila
   End With
End Sub

 

Antoni creo que sí, es por mi ansia de escribir 😅

Uno cuando es nobel siempre coge el camino mas largo.

Muy bueno y breve.

Saludos.

 

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.