Insertar un dato en una dirección dada por una fórmula

Estimad@s:

Me presento, soy Hector, junto con saludar y agradecer a todos por la ayuda que dan, les comento mi problema:

Necesito insertar una dato en una celda, de la cual obtengo su dirección con formula de la siguiente manera:

=COINCIDIR('ENERO 2018'!AT3;$A$10:$BE$10;0)  ..............Esta me da la columna(6)

=COINCIDIR('ENERO 2018'!AS3;$A$1:$A$189;0)  ...............Esta me da la fila (11)

=DIRECCION(BH10;BG10;4) ......................Esta me da la coordenada final de la celda basada en las dos anteriores (celda F11).

Ahora, ¿cómo lo puedo hacer para poner un dato en esa celda (F11) y que se actualice el dato segun cambien los otras formulas?

Las formulas determinan en esta matriz la dirección donde debo colocar el dato, ¿pero cómo lo hago? He probado con reemplazar, sustituir.. Etc.

1 Respuesta

Respuesta
1

Tendrías que llevar el dato con una macro. Con la macro borrarías toda la matriz y pondrías únicamente el "dato" en la celda según las coordenadas.

Por ejemplo, pon la siguiente macro en los eventos de tu hoja

Private Sub Worksheet_Calculate()
    Range("F11:BA20").ClearContents
    celda = Range("B5")
    dato = Range("C5")
    Range(celda) = dato
End Sub

Cambia en la macro "B5" por la celda donde tienes esta fórmula =DIRECCION(BH10;BG10;4)

Cambia "C5" por la celda que contiene el "dato" que quieres llevar a la celda destino


Sigue las Instrucciones para poner la macro en los eventos de worksheet

  1. Abre tu libro de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja)
  4. En el panel del lado derecho copia la macro

Avísame cualquier duda.

Sal u dos

.

Otro detalle que me faltó mencionar.

En la macro, si no quieres borrar los datos de la matriz entonces borra esta línea de la macro.

Range("F11:BA20"). ClearContents

Si quieres borrar los datos de la matriz y solamente ver el dato que se puso, solamente cambia el rango "F11:BA20" por el rango de tu matriz.


Funciona de la siguiente manera. Por cada dato que se modifique en la hoja y que afecte directamente el resultado de alguna fórmula, la macro se ejecutará en automático y pondrá el "dato" en la celda destino

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas