¿Cómo vincular celdas Excel con macros?

Tengo un fichero de excel en el que tengo tres hojas:

Hoja1 : dónde tengo unos datos para introducir

Hoja2: dónde se introducen los datos

Hoja3: dónde se introducen los datos

El tema es que hasta ahora lo que estaba haciendo era crear una línea en las hoja2 y hoja3, de forma que se desplazaban todos los elementos de la hoja. Después tengo que hacer que unas celdas de la hoja2, están vinculadas a la Hoja3. Como lo estaba introduciendo todo en la primera fila, no tenía problema, y tenía la siguiente fórmula

Range("S10").Select

    ActiveCell.FormulaR1C1 = "=Hoja3!RC"

El problema es que el archivo ha ido creciendo, entonces el insertar una fila arriba y desplazar todo hace que se ralentice el proceso.

Para solucionarlo, he cambiado la macro, y hago que las filas se creen en la última fila libre, el problema viene porque en la Hoja2 la última fila libre, no es la misma que en la hoja3, con lo que la fórmula anterior no funciona, he intentado usar esta fórmula:

ActiveSheet.Cells(ultlineatot, 19) = "=hoja3!R[-dif]C[19]"

Donde ultlineaot = fila donde inserter en Hoja2

Dif = diferencia entre la fila de Hohja2 y Hoja3

Pero da error, ¿alguien sabe como solucionarlo?

1 Respuesta

Respuesta
1

¿Y si en lugar de poner una fórmula pones el valor?

Si quieres que sea con fórmula, lo que tienes que hacer es encontrar la última fila libre de cada hoja, por ejemplo:

Sub macro()
'Por.Dante Amor
    u2 = Sheets("Hoja2").Range("S" & Rows.Count).End(xlUp).Row + 1
    u3 = Sheets("Hoja3").Range("S" & Rows.Count).End(xlUp).Row
    '
    Sheets("Hoja2").Cells(u2, "S") = "=hoja3!R" & u3 & "C"
End Sub

Prueba y me comentas.

Saludos. Dante Amor

Si es lo que necesitas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas