Macro para insertar fórmula en hoja excel
Estoy intentando insertar esta fórmula en una macro excel pero me da error 1004.
La formula es: ActiveCell.FormulaR1C1 = "=IF(ISNA(VLOOKUP(RC[+1];Anterior!C[+2]:C[+9];2;0));""N"";IF(RC[+2]&RC[+3]&RC[+4]&RC[+5]&RC[+6]&RC[+7]&RC[+8]&RC[+9]<>(VLOOKUP(RC[+1];Anterior!C[+2]:C[+9];2;0)&VLOOKUP(RC[+1];Anterior!B:J;3;0)&VLOOKUP(RC[+1];Anterior!B:J;4;0)&VLOOKUP(RC[+1];Anterior!B:J;5;0)&VLOOKUP(RC[+1];Anterior!B:J;6;0)&VLOOKUP(RC[+1];Anterior!B:J;7;0)&VLOOKUP(RC[+1];Anterior!B:J;8;0)&VLOOKUP(RC[+1];Anterior!C[+2]:C[+9];9;0));""C"";""))"
Lo que tiene que hacer es lo siguiente: Me posiciono en la celda A9. La fórmula tiene que ver si ha habido cambios en las celdas C9&D9&E9&F9&G9&H9&I9&j9 con respecto a la búsqueda del valor de B9 en la hoja "Anterior" recuperando el valor de la celda C9 & el valor de la celda D9 & el valor de la celda E9...
Es decir quiero que me busque Pepe que esta escrito en la celda B9. Las columnas de la C a la J tiene datos personales, por ejemplo, edad, calle, numero... Si ejecuto la macro y se ha actualizado la edad de pepe o ha cambiado de vivienda o cualquier otra situación quiero que me ponga una C. En cambio si pepe no existía en la hoja "Anterior" quiero que me ponga N. Y si pepe sigue teniendo la misma edad y vive en el mismo lugar quiero que me ponga "", es decir, nada.
¿Cómo podría hacerlo?
La formula es: ActiveCell.FormulaR1C1 = "=IF(ISNA(VLOOKUP(RC[+1];Anterior!C[+2]:C[+9];2;0));""N"";IF(RC[+2]&RC[+3]&RC[+4]&RC[+5]&RC[+6]&RC[+7]&RC[+8]&RC[+9]<>(VLOOKUP(RC[+1];Anterior!C[+2]:C[+9];2;0)&VLOOKUP(RC[+1];Anterior!B:J;3;0)&VLOOKUP(RC[+1];Anterior!B:J;4;0)&VLOOKUP(RC[+1];Anterior!B:J;5;0)&VLOOKUP(RC[+1];Anterior!B:J;6;0)&VLOOKUP(RC[+1];Anterior!B:J;7;0)&VLOOKUP(RC[+1];Anterior!B:J;8;0)&VLOOKUP(RC[+1];Anterior!C[+2]:C[+9];9;0));""C"";""))"
Lo que tiene que hacer es lo siguiente: Me posiciono en la celda A9. La fórmula tiene que ver si ha habido cambios en las celdas C9&D9&E9&F9&G9&H9&I9&j9 con respecto a la búsqueda del valor de B9 en la hoja "Anterior" recuperando el valor de la celda C9 & el valor de la celda D9 & el valor de la celda E9...
Es decir quiero que me busque Pepe que esta escrito en la celda B9. Las columnas de la C a la J tiene datos personales, por ejemplo, edad, calle, numero... Si ejecuto la macro y se ha actualizado la edad de pepe o ha cambiado de vivienda o cualquier otra situación quiero que me ponga una C. En cambio si pepe no existía en la hoja "Anterior" quiero que me ponga N. Y si pepe sigue teniendo la misma edad y vive en el mismo lugar quiero que me ponga "", es decir, nada.
¿Cómo podría hacerlo?
1 respuesta
Respuesta de mrtool