Inicio > Microsoft Excel > tavopz > Buscar ult fila copiar y pegar formula con macro

Buscar ult fila copiar y pegar formula con macro

Experto:
Usuario:
Fecha: 04/07/2008
Valoración: (5,00 sobre 5) Categoría: Microsoft Excel
27/06/2008
saruzza, usuario preguntando en Microsoft Excel
Usuario
Hola, tengo un libro en excell que se alimenta con una base de datos de sql, el cual a su vez tiene unas funciones asociadas. El tema esta en que cuando actualizo el libro automaticamente, si desaparece alguna línea se rompen las funciones asociadas.
la hoja del libro posee dichos vinculos a la base de datos de la columna A a la E - y las funciones desde la H a la V,
Quiero saber como puedo copiar y pegar las funciones desde la fila 3 columnas H a V, hasta la ultima fila que contenga contenga datos en la columna A
ejemplo
a b c d etc h i etc
1 base datos funcion vinculada
2 base datos funcion vinculada
3 base datos funcion vinculada
4 base datos a pegar funciones de la fila 3
6 base datos idem
7 base datos idem
8 base datos idem
9 etc
Necesito hacerlo con una macro por lo expuesto anteriormente sobre las funciones
desde ya, muchas gracias
01/07/2008
saruzza, experto respondiendo en Microsoft Excel
Experto
Hola,
Creo que no será problema hacerlo con una macro, pero antes de esto quiero preguntar algo. Si estás haciendo un query de la base de datos desde Excel, e ingresas con clic derecho sobre el rango del query, puedes seleccionar la opción "Propiedades del rango de datos" y luego seleccionar la opción "Actualizar fórmulas en columnas adyacentes".
 
Revisa si esta opción es válida, sino, entonces revisamos lo de la macro.
 
Saludos, Tavopz
Visita: www.colombia2011.org
01/07/2008
saruzza, usuario preguntando en Microsoft Excel
Usuario
Hola, en realidad creo que no es un query de excel, Es una coneccion a una base de datos de sql, generada en excel 2007 desde la lengueta, datos, conecciones , y no veo ninguna opcion de la que me comentas dentro de las propiedades
Si podes y no te lleva mucho tiempo agradecido por la ayuda!!
03/07/2008
saruzza, experto respondiendo en Microsoft Excel
Experto
Hola,
Exacto, a eso me refería a una consulta hecha desde Datos / Obtener datos externos...
 
Cuando das clic derecho sobre una tabla generada desde este tipo de consultas, te aparece un menú contextual diferente, con unas opciones al final como Refrescar datos, Editar Query y Propiedades del rango de datos... ¿no te aparecen?
 
En fin, si no aparecen entonces vamos con lo de la macro, lo primero es identificar cual es el último dato de la tabla, con esto puedes duplicar las fórmulas en las celdas que están al lado.
 
Sería algo como esto:
x = Range("A1").End(xlDown).Row
Dim c as Range
For Each c In Range("AN1:AN" & LTrim(Str(x)))
     c.FormulaR1C1 = "=RC[-28]+RC[-19]"
Next c

 
En este ejemplo el query aparecería desde la celda A1 con una cantidad de filas y columnas determinadas. Con la primera línea identificas cuál es la última fila con datos a partir de A1. Luego, con el ciclo For, vas a colocar en todas las celdas de la columna AN desde la 1 hasta la última del query, la fórmula que suma la celda -28 y -19 (es decir la que se encuentra 28 y 19 celdas a la izquierda de AN.
 
Creo que esto mismo podrías utilizar para tu necesidad.
 
Espero que te funcione.
 
Saludos, Tavopz
Visita: www.colombia2011.org
04/07/2008
saruzza, usuario preguntando en Microsoft Excel
Usuario
Simplemente, Magnifico!!!
Muchas Gracias! y un abrazo fraterno
Enlaces patrocinados