Comparar Líneas de texto en excel con distinto formato numérico

Tengo un excel que me trae datos de un mainframe en una sola celda y lo tengo que comparar con otra celda que me trae datos de otro programa

El formato que me trae es este

E 1,421.19 1,421.19

Y lo tengo que comparar con otro que tiene el formato

L 1.421,19 MEMO:BAL 1.421,19

Como podéis ver el formato de número es distinto, además el dato es texto y tendría que comparar uno con el otro.

Cuando le digo extraer el segundo me pone 14,21 y no consigo poder extraer ambos importes para ver si coinciden.

He probado a reemplazar pero no me sirve, también buscas datos hasta la (,) pero tampoco porque solo me trae el primer importe.

¿Alguna idea?

1 Respuesta

Respuesta
1

Entiendo que el formato en España para las cantidades es 123.456,00

Es decir, utilizan el punto como separador de millares y la coma para serparar decimales.

Si es así, y suponiendo que tienes en la columna A las celdas1 y la colunma B las celdas2

Por ejemplo:

Entonces ejecuta la siguiente macro, la macro leerá el dato de la columna A y separará los 2 importes en las columnas C y D; también realizará lo mismo con el dato de la columna B, separará los 2 importes en las columnas E y F.


La macro

Sub Comparar_Lineas()
'Por Dante Amor
    Range("C2:G" & Rows.Count).ClearContents
    For i = 2 To Range("A" & Rows.Count).End(xlUp).Row
        celda1 = Split(Cells(i, "A"), " ")
        celda11 = Replace(celda1(1), ",", "")
        celda11 = Replace(celda11, ".", ",")
        Cells(i, "C") = CDbl(celda11)
        '
        celda12 = Replace(celda1(2), ",", "")
        celda12 = Replace(celda12, ".", ",")
        Cells(i, "D") = CDbl(celda12)
        '
        '
        celda2 = Split(Cells(i, "B"), " ")
        Cells(i, "E") = CDbl(celda2(1))
        Cells(i, "F") = CDbl(celda2(3))
    Next
    MsgBox "fin"
End Sub

Sigue las Instrucciones para un botón y ejecutar la macro

  1. Abre tu libro de Excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. En el menú elige Insertar / Módulo
  4. En el panel del lado derecho copia la macro
  5. Ahora para crear un botón, puedes hacer lo siguiente:
  6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
  7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
  8. Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona: Tamaño y Propiedades. En la ventana que se abre selecciona la pestaña: Propiedades. Desmarca la opción “Imprimir Objeto”. Presiona “Cerrar”
  9. Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona: Comparar_Lineas
  10. Aceptar.
  11. Para ejecutarla dale click a la imagen.

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

Hola, me da un error, se me para aquí.

celda11 = Replace(celda1(1), ",", "")

He cambiado la i por 7 porque aquí empiezo a tener datos y lo ejecuto poco a poco con F8 y nada se me queda parada.

El problema es que no hace esto

celda1 = Split(Cells(i, "A"), " ")

Por eso se para

Según tu ejemplo los datos deben estar de esta forma:

El formato que me trae es este

E 1,421.19 1,421.19

Y lo tengo que comparar con otro que tiene el formato

L 1.421,19 MEMO:BAL 1.421,19

Lo que veo es que después de la letra "E" viene un espacio, luego número, luego espacio, luego número. En el segundo texto, vien letra "L", espacio, número, espacio, texto, espacio y número.

Si no están de esa forma los datos, entonces tienes que decirme cómo están.

Prueba primero con los datos que me diste.

Es que no hay una espacio, al copiar la celda excel en el mensaje ha cambiado a un espacio, pero  entre la letra E y el primer importe hay 29 caracteres en blanco. No me di cuanta al pegar que lo había unido.

En realidad está así

E                             1,421.19                    1,421.19

Gracias

Envía tu archivo de excel con ejemplos en otras celdas me pones el resultado que esperas, y para que no haya confusión copia la pantalla de tu excel y la pegas en otra hoja.

Mi correo [email protected] 

En el asunto pon tu nombre de usuario "julia gabriel"

Si ya te funcionó, [R ecuerda valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas