Saltar al contenido

Problema al convertir cantidad con este símbolo delante: '


Recommended Posts

publicado

Hola,

Me han pasado un fichero, donde las cantidades vienen con ' delante, sería así:

'0,234

'123456,03

He utilizado este código para quitarle el símbolo porque necesito sumarlo, pero en algunos casos se queda así 0.234 y no me deja reemplazar el punto por la coma, solo quitárselo y quedarme con 0234 Os paso un fichero de ejemplo, por si se os ocurre otro modo de cambiar el formato. 

Muchas gracias!

 

With Worksheets("Hoja1")

    For i = 2 To .UsedRange.Rows(.UsedRange.Rows.Count).Row

        If Cells(i, "A").Value Like "'*" Then
		   Cells(i, "A").Value = Right(Cells(i, "A").Value, Len(Cells(i, "A").Value) - 1)
		End If
    Next

End With

 

ejemplo_texto.xlsm

publicado
hace 1 hora, Antoni dijo:
    With ActiveSheet.UsedRange
      .Replace "'", ""
      .Value = .Value
    End With

 

Buenas, Antoni...

Es que me pasa lo mismo, después de pasar el código a esto:

 
'-288170,45

'-1,086

Se convierte en esto: 

-288170,45
-1.086

Se sustituye la coma por el punto... y te lo convierte a  - 1086 pero no -1,086

Lo conseguí con fórmula de excel (sin macro) así: =DERECHA(A1, LARGO(A1) - 1) 

Pero no consigo replicar esto mismo con VBA sin que pase lo mismo.

Gracias. 

 

publicado
hace 16 minutos , Gsus dijo:

Buenas, Antoni...

Es que me pasa lo mismo, después de pasar el código a esto:

 
'-288170,45

'-1,086

Se convierte en esto: 

-288170,45
-1.086

Se sustituye la coma por el punto... y te lo convierte a  - 1086 pero no -1,086

Lo conseguí con fórmula de excel (sin macro) así: =DERECHA(A1, LARGO(A1) - 1) 

Pero no consigo replicar esto mismo con VBA sin que pase lo mismo.

Gracias. 

 

Buenas, Antoni... lo conseguí así:

Sub quitarsimbolo()

With Worksheets("Hoja1")

 

    For i = 2 To .UsedRange.Rows(.UsedRange.Rows.Count).Row

        If Cells(i, "A").Value Like "'*" Then

        Cells(i, "A").NumberFormat = "@"
        Cells(i, "A").Value = Right(Cells(i, "A").Value, Len(Cells(i, "A").Value) - 1)
        
        Cells(i, "A").Value = CDbl(Cells(i, "A").Value)


        End If


    Next

End With

End Sub
 

Quizás es un poco cutrecillo :)

Archivado

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

  • 109 ¿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

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Archivos

  • Estadísticas de descargas

    • Archivos
      187
    • Comentarios
      97
    • Revisiones
      28

    Más información sobre "Un juego del Rabino en Excel"
    Última descarga
    Por pegones1

    1    1

  • Crear macros Excel

  • Mensajes

    • Hola La opción brindada por @torquemada es correcta, funciona, pero hay algunos inconvenientes que (desde mi punto de vista) no la convierten en mi primera elección. Los inconvenientes son: Tendrías que ir columna por columna haciendo los reemplazos, claro que no se harían a mano sino que utilizarías la opción reemplazar o la opción texto en columnas, aun asi demorará un poquito y será trabajoso. Cada vez que descargues otro listado, tendrás que volver a realizar los reemplazos. Me parece una mejor propuesta lo siguiente: Descarga los movimientos a un archivo de Excel Desde tu control de pagos (otro archivo) cargas los movimientos del archivo descargado mediante Power Query Power Query hará los reemplazos y reconocerá todo correctamente (sin que tengas que hacer nada especial) Cuando descargues los movimientos un día posterior, solamente tendrás que hacer clic en "Actualizar" y todo funcionará en automático
    • Hola a todos, Efectivamente, me temo que tal como trabajan las funciones =HOY() y/o =AHORA() (volátiles), sólo con macros puedes obtener soluciones. Un recurso pedestre podría ser, cada vez que quieras que se fije un dato, te sitúes en esa celda y pulses F2, F9 e INTRO.  Pero claro, puede ser un inconveniente si hay que hacerlo repetitivamente en muchas ocasiones,.............. en fin, lo comento sólo como posibilidad. Saludos,
    • Hola nuevamente, mi duda sigue siendo la ruta, o rutas, finales que quedan, esas que llamas "relativas"; igual por si acaso pon 3 o 4 de esas, tal cual son y/o se ven en el explorador de cada PC y, de ser posible, en cualquier otro "lado" en que las veas.
    • Hola, tal cual se plantea, solamente con macros (VBA); en todo caso, hacerlo a mano o con "CTRL + ;". Saludos.
    • Mil gracias, en verdad todo apoyo es super agradecido,   Su aporte y comentarios valen mucho para in servidor, y tiene razon esperare a conocer si alguien comparte alguna otra manera,   Gracias!!! (y)
  • Visualizado recientemente

    • No hay usuarios registrado para ver esta página.
×
×
  • 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.