Jump to content

macro para formatear números


Recommended Posts

en las celdas desde la V2 a la V50 tengo en formato general los siguientes números:
V2=510.941,44
V3=300,150.19
V4=156169,84
V5= 110023,59
 quisiera una macro  vba que en el caso de encontrar un separador de miles como en v5 lo elimine sea este un punto o una coma y si no tiene separador de miles como en v3 que no haga nada
debería quedar
V2=510941.44
V3=300150.19
V4=156169.84
V5= 110023.59

 

Es decir que los números finales deben quedar sin millares y con un punto para separar los centavos

además el resultado debe pegarse en el rango que va de BA2 A BA50

 

Desde ya muchas gracias por la respuesta

 
Link to comment
Share on other sites

  • 2 weeks later...

De acuerdo a la descripción participo con esta propuesta esperando sea de utilidad, use los rangos descritos si es necesario personalice un poco.

Sub LimpiarYCopiar()
    Dim srcRange As Range
    Dim destRange As Range
    Dim cell As Range
    Dim cleanedValue As String
    Dim i As Integer
       
    Set srcRange = ThisWorkbook.Sheets("Hoja1").Range("V2:V5")
    Set destRange = ThisWorkbook.Sheets("Hoja1").Range("BA2")
    
    i = 0
       
    For Each cell In srcRange
    
        cleanedValue = Replace(cell.Value, ",", "")
        cleanedValue = Replace(cleanedValue, ".", "")
        cleanedValue = Left(cleanedValue, Len(cleanedValue) - 2) & "." & Right(cleanedValue, 2)
      
    
        destRange.Offset(i, 0).Value = Val(cleanedValue)
        destRange.Offset(i, 0).NumberFormat = "0000.00"
        
        i = i + 1
    Next cell
End Sub

 

Link to comment
Share on other sites

Hola buenas noches, gracias por responder pero me parece que sería mejor con una fórmula. Me pasaron las siguientes pero no sé cuál sería mejor en este caso además quisiera una condicional para que solo se formateen los números en el caso de que él mismo no se un número entero es decir en el caso de que él número en cuestión sea como uno de los descritos.

=VALOR(SUSTITUIR(SUSTITUIR(G2 ; "." ; "" ; 1) ; "," ; "" ; 1))/100

 

1
=VALOR(SUSTITUIR(SUSTITUIR(SUSTITUIR(SUSTITUIR(G2;".";"";1);",";"";1);".";"";1);",";"";1))/SI(O(EXTRAE(G2;LARGO(G2)-1;1)=",";EXTRAE(G2;LARGO(G2)-1;1)=".");10;100)
Link to comment
Share on other sites

Cita

quisiera una macro  vba que en el caso de encontrar un separador de miles como en v5 lo elimine sea este un punto o una coma y si no tiene separador de miles como en v3 que no haga nada

A ver si te aclaras. publicas la consulta en el foro de macros, pides una macro, te dan una macro y ahora pides una fórmula.

No hagas perder el tiempo a la gente, y de paso, sube un archivo con un ejemplo de lo que pides y del resultado final.?

Link to comment
Share on other sites

hace 16 horas, civer25 dijo:

me parece que sería mejor con una fórmula

¿Qué opinas si creas un tema en la sección de fórmulas? Esto con el fin de cuidar un poco el orden del foro y sea de ayuda para posibles lectores. Además que hay Maestros en funciones y participantes muy creativos que podrían aportar más opciones.

Porque por otro lado leyendo la función que te pasaron, en ese caso podrías usar "Buscar y Reemplazar" y te daría (considero) el mismo resultado.

Saludines

Link to comment
Share on other sites

En 19/8/2023 at 7:15 , Antoni dijo:

A ver si te aclaras. publicas la consulta en el foro de macros, pides una macro, te dan una macro y ahora pides una fórmula.

No hagas perder el tiempo a la gente, y de paso, sube un archivo con un ejemplo de lo que pides y del resultado final.?

hola, disculpas la verdad no me dí cuenta. así lo haré

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • 72 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Current Donation Goals

    • Raised 0.00 EUR of 130.00 EUR target
  • Files

  • Download Statistics

    • Files
      169
    • Comments
      89
    • Reviews
      26

    Latest File
    By pegones1

    4    0

  • Crear macros Excel

  • Posts

    • Entonces sería esto lo que necesitas verdad ?
    • buen día estimados los molesto con la siguiente consulta yo tengo un archivo Excel de valores numéricos (costo) , pero debo de pasarlo a un formato texto con tres decimales por mas que sea un entero. cual seria la mejor forma para tener la columna CONCATENADO, en la que debe figurar el entero con tres decimales desde ya muchas gracias por la ayuda de siempre enteros y decimales en celdas distintas.xlsx
    • Muchas gracias por la respuesta Israel. Me sirve el dato. No es necesario algo tan complejo. Si por ahí tienes una idea de utilización que me puedas orientar con la función GoogleFinance te lo agradezco. 
    • Hola a todos, Necesito una formula que busque los días que hubo la temperatura más alta y los anote separados por un guion. En el ejemplo que subo serían los días 10, 14 y 26. Gracias de antemano Máximas mensuales.xlsx
    • Lo que te puedo comentar sobre tu consulta es en base a mi experiencia y que tanto en Excel como en Google Sheets es posible obtener el tipo de cambio. En Excel 365 usando la función MONEDA y en Google Sheets tienes una función llamada GOOGLEFINANCE(), Es importante resaltar que el tipo de cambio no es de un sitio específico como lo quieres. Para obtener la cotización del dólar desde un sitio específico como BNA, necesitarías usar técnicas de web scraping. Un método utilizado para extraer información de sitios web. Sin embargo, este proceso no siempre es posible debido a las restricciones del sitio web. Si eres cliente del Banco podrías consultar con la institución.
  • Recently Browsing

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Privacy Policy