Macro asignar formulas a celdas

Tengo una macro que asigna la siguiente formula a una celda

Cells(27, 9) = "=SUMA(Avance" & diasig & ":Avance200!H27)"

Y así a un sin número de celdas, sin embargo cuando termina la rutina las celdas me aparecen #####, me toca abrir cada celda como si la fuera a editar y darle ENTER de esta forma la formula que asigne si funciona, que rutina podría incluir en la macro para hacer este proceso a todas las celdas de la hoja o el rango,

Cordial Saludo.

1 respuesta

Respuesta
1

Eso sucede porque el ancho de la columna es chico para mostrar el resultado podrías poner lo siguiente, debes adaptarlo a las columnas en la cual pegas las formulas

Columns("B:B"). EntireColumn. AutoFit

En www.programarexcel.blogspot.com encontrarás varios ejemplos que puedes bajar y adaptar a tus proyectos.

Hola gracias por la respuesta, pero ese no es el problema al ampliar la columna me aparece en vez de ###### esto #¿NOMBRE?, sin embargo si hago doble click como si fuera a editar la celda y sin cambiarle nada le doy ENTER ya la formula calcula el valor deseado,

Prueba así

Range("B6").Formula = "=SUMA(Avance" & diasig & ":Avance200!H27)"

Yo no lo puedo probar porque me da error con las variables que tu si debes tener asignadas, me deberías pasar todo el código que tienes, principalmente de donde sacas los valores de variable, pero prueba poniendo como te pase y me comentas.

Hola buenos días,

No me funciono, si no es mucha molestia en el siguiente link puedes encontrar el archivo,

https://www.dropbox.com/s/7r3cqt10m1yo8yi/Avance%20Diario%20Tk%200130.xlsm

La macro es la que se llama "sig" inicialmente estoy probando con la celda I27, luego formulare las otras,

Gracias,

Estuve viendo tu archivo no se que quieres sumar por ejemplo una suma debe tener el siguiente formato

=suma(A2:A24)

Sin embargo tu formula arroja el siguiente resultado, deberías modificar la concatenación que haces para que quede con el formato mencionado

=SUMA(Avance200:Avance3!H27)

¿Tu lo que quieres sumar es el acum de la hoja anterior más el avance de la hoja actual?

Esta formula =SUMA(Avance200:Avance3!H27) lo que me permite es acumular todos los valores de los avance1 avance2..... Avance200 que están en la celda H27 a medida que creo las hojas, sin embargo no me sirve que en avance1 se acumule lo de los avances siguientes ya que cada hoja de avance debe acumular lo de atrás. La formula me funciona bien de forma manual pero si corres la macro "sig" con el botón generar siguiente te sale la formula como #### si le das F2 y ENTER ella funciona perfectamente.

Gracias por tu apoyo,

Estuve viendo tu formula

Range("I27").Formula = "=SUMA(Avance" & diasig & ":Avance200!H27)" Range

Dos soluciones las más fácil es que cambies suma por su la palabra en ingles

Range("I27").Formula = "=SUM(Avance" & diasig & ":Avance200!H27)" Range

Ahí funciona sin problemas

Otro solución es que cambies la formula si es lo que tienes que sumar es la celda h27 de Avance 200 y la actual, podrías poner

Range("I27").Formula = "=(Avance" & diasig & "!h27 + Avance200!H27)"

Ahora si tu dices que funciona la formula original entonces cambia suma por sum.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas