Modificar formulas de Excel con Macro

29/01/2010 - 11:21 por valoro | Informe spam
Tengo una hoja de Excel con una tabla de gran tamaño en la que existen
muchas fórmulas (aunque no todas) que estan vinculadas con una
aplicación de contabilidad. Las fórmulas son del tipo:

=DIM|A!'SALDOM(2,2;6000003)'

=DIM|B!'SALDOM(2,2;608)'

=DIM|23!'SALDOFINAL(2,2;61005)'

De los tres ejemplos anteriores observar que entre los caracteres |
y ! van uno o varios dígitos: A, B o 23, por ejemplo.

Al final va una cuenta de contabilidad que puede tener más o menos
dígitos.

Y el concepto puede ser SALDOM (saldo medio), SALDOFINAL, o cualquier
otro concepto.

Lo que necesito es poder cambiar en todoas las cuentas de la hoja el
dígito que va entre el simbolo | y el simbolo !. Y hacer esto de forma
automática, ya que a mano tendría que ir editando cada celda y
modificando ese caractes de cada fórmula, y son muchas.

He intentado una macro trabajando con objetos de rango y una
estructura

FOR EACH celda IN rango
NEXT

y trabajando con FormulaLocal pero no he conseguido dar con la
solución.

Gracias por vuestro tiempo.

Andrés
 

Leer las respuestas

#1 Xavier Budet Graco
29/01/2010 - 19:37 | Informe spam
Hola Andrés, yo no te puedo ayudar con VBA porque mi nivel es bajo pero por si no aparece otra solución... teniendo en cuenta que el tema con fórmulas siempre es complicado podrías hacerlo con "Buscar y Reemplazar".

Inconveniente que habrás de hacer una búsqueda para cada referencia distinta, en el caso que expones sería una para |A!' otra para |B!' y otra para |23!' o sea que si tienes muchas seguirá siendo laborioso, pero siempre mucho más fácil y rápido que con Edición.

Saludos,

Xavier

Quitar MAC para contestar. Gracias.

"valoro" escribió en el mensaje news:
Tengo una hoja de Excel con una tabla de gran tamaño en la que existen
muchas fórmulas (aunque no todas) que estan vinculadas con una
aplicación de contabilidad. Las fórmulas son del tipo:

=DIM|A!'SALDOM(2,2;6000003)'

=DIM|B!'SALDOM(2,2;608)'

=DIM|23!'SALDOFINAL(2,2;61005)'

De los tres ejemplos anteriores observar que entre los caracteres |
y ! van uno o varios dígitos: A, B o 23, por ejemplo.

Al final va una cuenta de contabilidad que puede tener más o menos
dígitos.

Y el concepto puede ser SALDOM (saldo medio), SALDOFINAL, o cualquier
otro concepto.

Lo que necesito es poder cambiar en todoas las cuentas de la hoja el
dígito que va entre el simbolo | y el simbolo !. Y hacer esto de forma
automática, ya que a mano tendría que ir editando cada celda y
modificando ese caractes de cada fórmula, y son muchas.

He intentado una macro trabajando con objetos de rango y una
estructura

FOR EACH celda IN rango
NEXT

y trabajando con FormulaLocal pero no he conseguido dar con la
solución.

Gracias por vuestro tiempo.

Andrés

Preguntas similares