Reenvío archivo comparación datos
hola te envíe el archivo con la macro que hay que fusionar tengo otro archivo que le debo hacer opciones similares ya abrí la pregunta gracias
1 respuesta

Ahora mismo estoy perdido. Me llegan innumerables mensajes, contesto muchas preguntas y no sé qué tengo que hacer ahora. ¿Ya mandaste el fichero de lo que debo hacer? Perdona si lo hiciste pero tengo un caos muy grande.

Espera, que ya he encontrado el fichero último y penúltimo. Intentare integrar las dos macros. Entonces lo que quieres es que la macro integrada se ejecute en todos los libros abiertos salvo el que tiene la macro, ¿no?

Espera, que ya he encontrado el fichero último y penúltimo. Intentare integrar las dos macros. Entonces lo que quieres es que la macro integrada se ejecute en todos los libros abiertos salvo el que tiene la macro, ¿no?
Espera, otra cosa. Utilizas una macro para sustituir lo de los hijos, nietos, etc que no está mal, pero tiene que buscar esas expresiones en todas las celdas. Yo creo que eso es un esfuerzo extraordinario y pienso que puede llevar más tiempo que si buscamos solo en la columna BK que creo es el único sitio donde salen, ¿es así?

También he visto las expresiones
HIJASTRO(A)
COMPAÑERO(A)
Supongo que habrá que cambiarlas de la misma manera.

Creo que será mejor hacer un solo reemplazo, creo que no habrá problemas. Haremos
Replace "O(A)", "O (A)"
Y nos ahorraremos muchas líneas y mucho trabajo para el ordenador.

Pues ya lo tengo. Creo que es lo que quieres, si no me lo dices.
Entonces lo que que he hecho es un libro que se llama CorregirInconsistencias.XLSM que lo que hará será corregir las de los otros libros que tengas abiertos, las suyas propias no.
Están integradas las correcciones anteriores y la de ahora, se ha considerado que la de ahora solo se da en la columna BK y que la única cosa qeu hay que sustituir es "A(O)" por "A (O)"
Estas es la macro con dos subrutinas, la segunda la he hecho privada para que no te lie al salir dos macros, pero puedes quitárselo si alguna vez vas a querer usarla por si sola.
Sub LlamaCorregirInconsistencias() Dim Wb1, Wb As Workbook Dim Nombre1 As String Set Wb1 = ThisWorkbook Nombre1 = Wb1.Name For Each Wb In Workbooks If Wb.Name <> Nombre1 Then Wb.Activate Call CorregirInconsistencias Wb.Save End If Next Wb1.Activate Set Wb = Nothing Set Wb1 = Nothing End Sub Private Sub CorregirInconsistencias() Dim UltiFila, i As Integer UltiFila = Range("BG" & Rows.Count).End(xlUp).Row For i = 2 To UltiFila If Cells(i, "I") <> "860023143" Then Cells(i, "I") = "860023143" If Cells(i, "AB") <> "1111111" Then Cells(i, "AB") = "1111111" Cells(i, "AF").Replace " ", "" Cells(i, "BH").Replace " ", "" Cells(i, "BJ").Replace " ", "" Cells(i, "BI").Replace " ", "" If Cells(i, "BM") = "" Then Cells(i, "BL") = "SD" Else If Cells(i, "BU") < 10 Then If Cells(i, "BL") <> "RC" Then Cells(i, "BL") = "RC" ElseIf Cells(i, "BU") < 18 Then If Cells(i, "BL") <> "TI" Then Cells(i, "BL") = "TI" Else If Cells(i, "BL") <> "CC" Then Cells(i, "BL") = "CC" End If End If If UCase(Cells(i, "BN")) = "FEMENINO" Then If Cells(i, "CP") <> "NO APLICA" Then Cells(i, "CP") = "NO APLICA" Else If Cells(i, "CP") <> "" Then Cells(i, "CP") = "" End If If Cells(i, "CM") = "" Then Cells(i, "CM") = "NO" If UCase(Cells(i, "CM")) = "NO" Then If Cells(i, "CN") <> "" Then Cells(i, "CN") = "" ElseIf UCase(Cells(i, "CM")) = "SI" Then If Cells(i, "CN") <> "SI" Then Cells(i, "CN") = "NO" End If If Cells(i, "CS") = "" Then Cells(i, "CS") = "OTRA" If Cells(i, "AV") = "" Then Cells(i, "AV") = "NO" If Cells(i, "AL") = "" Then Cells(i, "AL") = "NO" Next 'wiht Range("BK2:BK" & UltiFila) ' .Replace "NIETO(A)", "NIETO (A)" ' .Replace "HERMANO(A)", "HERMANO (A)" ' .Replace "SOBRINO(A)", "SOBRINO (A)" ' .Replace "PRIMO(A)", "PRIMO (A)" ' .Replace "HIJO(A)", "HIJO (A)" ' .Replace "ABUELO(A)", "ABUELO (A)" ' .Replace "SUEGRO(A)", "SUEGRO (A)" ' .Replace "CUÑADO(A)", "CUÑADO (A)" ' .Replace "HIJASTRO(A)", "HIJASTRO (A)" ' .Replace "COMPAÑERO(A), "COMPAÑERO (A)" 'End With Range("BK2:BK" & UltiFila).Replace "O(A)", "O (A)" End Sub
Perdona que no ponga las sangrías. Es un fallo de esta página que al copiar quita los espacios por la izquierda, si quieres tenerlos hay que eu volver a ponerlos a mano.
No obstante te mando el fichero y ahi la tienes bien indentada.
Te mando el libro con los datos en la hoja de cálculo que traía, pero no los necesita porque lo que hace es corregir en otros libros.
Y eso es todo.
- Compartir respuesta
