Saltar al contenido

Copiar formula hasta último dato de columna anterior


Recommended Posts

publicado

Hola Buenos días:

Estoy intentando realizar una macro para que realice un fórmula que copie en una columna B una formula, hasta la misma fila de la columna anterior A (la columna A dependiendo de los datos que vuelco son siempre diferentes y por eso la dificultad). Pero no doy con la forma de realizarlo.

Alguien podría explicarme como puedo hacerlo.

Muchas Gracias.

publicado

Gracias Armando:

Es para hacer una macro con más cosas, la primera opción, la utilizo habitualmente.

Las macros siempre las inicio del modo que comentas, pues no se mucho de programación (por no decir nada :D)

Subiré uno de muestra, con los datos de la empresa no puedo subirlos;).

En principio se trata de una plantilla para el volcado de datos de las tarifas de los proveedores, adecuada a los productos que nuestra empresa compra de dicho proveedor. Entre muchas de las cosas que realiza la macro está el realizar un buscarv en la tarifa del proveedor de los productos que consumimos de él.

Yo anteriormente lo hacía a lo bruto :D, ponía en la macro que calculase los datos desde la línea 3 hasta la 500 y así no me quedo corto nunca, pero ahora me han pedido mejorar la macro por otro temas de volcado de precios de clientes y necesito realizar el calculo exactamente para las líneas que necesito, pues posteriormente se realizan otras operaciones para calcular las tres tarifas bases que tenemos para nuestros clientes, y por tanto ya no puedo realizarlo del mismo modo.

El problema es por tanto que el autofill, utilizando la opción de grabar sólo llega a la última fila de lo que estás grabando en ese momento, en este ejemplo que subo sería.

Selection.AutoFill Destination:=Range("C3:C8")[/CODE]

Muchas gracias por el interes.

Saludos.

ejemplo.xls

publicado

Como saber las lineas que necesitas?

Tu codigo funciona para el rango mencionado, que obviamente puede modificarse:

Sub INSERTAR()
Range("C2") = "COSTE 2014"
With Range("C3:C8")
.Formula = "=VLOOKUP(A3,'TARIFA PROV 2014'!A:B,2,FALSE)"
.Style = "Currency"
End With
End Sub[/CODE]

publicado

Evidentemente funciona para este rango.

Pero el problema radica en que la tarifa de un proveedor pueden ser 80, de otro 20 o de otro 400 artículos.

Por eso necesito que se detenga cuando llegue al último valor con dato de la columna anterior.

publicado

No me queda claro, asumiendo que aplicaras la formula en la columna C de la hoja NUESTRO PRODUCTOS (sic) para la filas ocupadas:

Sub aaa()
[a2].CurrentRegion.Columns(3).Formula = "=VLOOKUP(A2,'TARIFA PROV 2014'!A:B,2,0)"
End Sub[/CODE]

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.