¿Cómo hallar la dirección de una celda en un rango de columnas?

Buenas tardes.

He encontrado alguna respuesta parcial a mi pregunta, en posts antigüos, pero al aplicarlas en un rango de datos (entre I1 y T92, por ejemplo, todas las celdas con formato moneda y dos decimales) y tomando como valor de referencia el de L111, que a su vez arroja el valor de la fórmula =(K.ESIMO.MAYOR(I1:T92;2)), el resultado es "#NA".

La fórmula =CELDA("DIRECCION";DESREF(A1;FILA($U$1:$U$92)+COINCIDIR(L111;$U$1:$U$92;0)-2;COLUMNA($U$1)-1)) funciona perfectamente sobre una fila única (U, en este caso) pero al ampliar la [ref] al rango de columas puesto en el ejemplo, da error.

¿Alguna idea del porqué de este error y de cómo solucionarlo?

Gracias de antemano.

1 respuesta

Respuesta
1

Te mando mi solución mediante una pequeña macro:

Copia esta macro a un módulo y ejecutala estando posicionado en la hoja donde están dichos datos.

Sub direccion()
valor = Range("l111").Value
For Each celda In Range("i1:t92")
If celda.Value = valor Then
MsgBox "la dirección es: " & celda.Address(False, False)
End If
Next
End Sub

recuerda finalizar y puntuar

Perdón por el retraso, pero creí haber respondido a tu aportación (evidentemente, no ha sido así)

El problema está en que el libro excel lo componen bastantes hojas de calculo, en cada una de las cuales debería ejecutar la macro, previo rediseño de las mismas para hacer coincidir la celda de referencia. Para evitar este rediseño (tedioso y con posibles problemas añadidos por ser hojas importadas) entiendo que la mejor solución sería a través de una fórmula.

En cualquier caso, gracias por la solución (que funciona).

Si no te parece mal, dejo abierta la pregunta.

Saludos.

En ese caso si tenemos que buscarlo en cada una de las pestañas usaríamos esta macro:

Sub direccion()
for x=1 to sheets.count
sheets(x).select
valor = Range("l111").Value
For Each celda In Range("i1:t92")
If celda.Value = valor Then
MsgBox "la dirección es: " & celda.Address(False, False)
End If
Next
next
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas