BUSCARV Referencia al address de celda-resultado

Supongamos que usando BUSCARV me da como resultado el valor de una celda de la matriz en la que he realizado la búsqueda ¿Cómo puedo referirme a la dirección (address) de la celda al margen de su valor? Es decir a la celda como objeto.

1 Respuesta

Respuesta
1
¿Con una fórmula?
Supongamos que tienes la función buscav:
=BUSCARV(B1;seguimiento!A:B;A1;0)
... donde B1 es el valor buscado, y A1 es el INDICADOR DE COLUMNAS.
La fórmula para obtener la referencia de la celda donde se encontraría el valor, sería:
=DIRECCION(COINCIDIR(B1;seguimiento!A:A;0);A1;4;1)
Hola Caranbis, disculpa que haya tardado tanto en consultar tu amable respuesta.
Estoy estudiando la solución pero ¿Me puedes decir a qué se refieren los últimos parámetros de DIRECCIÓN() que me pones? Es decir ";4;1"
Excel los llama "fila;columna[abs];[a1];[hoja]" Estos tres últimos ¿Tienen mucha utilidad?
Saludos y muchas gracias
Sarah
Tiene buena pinta tu solución, la estoy probando en VBA pero... mi código en excel 2003 no reconoce ADDRESS() como traducción de DIRECCIÓN(), no sé porqué. He probado con Application WorksheetFunction . pero tampoco cuelga de ahí.
Cuando puedas dime cómo puedo usarla en VBA
Saludos y gracias
El 4, es para indicarle qué formato de referencia me debe mostrar; ej, si el resultado de la fórmula fuera la celda B5, las opciones para el formato son:
1: $B5$
2: B$5
3: $b5
4: B5
Esta última es la que estamos usando.
El último uno, es también para el formato (FILA/COLUMNA :: COLUMNA/FILA), EJ.
1: B5
0: F(5)C(2)
.
No olvides puntuar y finalizar.
Sin duda ya te has ganado la excelencia, pero a ver si puedes aclararme esto último que te pregunté, es decir, necesito usar DIRECCIÓN() por VBA. He visto que se traduce por ADDRESS() pero mi VBA no me la reconoce, y tampoco cuelga de Application WorksheetFunction.
¿Sabrías decirme cómo usarla correctamente?
Si no puedes no pasa nada, finalizo la pregunta con honores ;-)
Saludos
(... sigue del anterior)
Sé que existe la función ADDRESS() del objeto RANGE, pero para utilizarla ha de conocerse dicho rango, que es justo lo que estoy buscando. No sé si estoy en lo cierto.
Sub seguimiento()
'
'La verdad... No conozco la función address de la que hablas,
'conozco el parámetro Address, para variables Range.
'Yo lo haría así:
'Lo que debes hacer, es hacer de nuevo la búsqueda del texto
'desde VB, y recuperar la celda en la que se encuentra.
'El tipo de búsqueda, debe hacerse coincidiendo con el
'contenido completo de la celda.
'
Dim Asd As Range
Dim Celda As Range
Dim Textobuscado As String
Dim Encontrado_en As String
'
Application.ScreenUpdating = False
Set Asd = Selection 'Capturas la selección actual.
'
'
Sheets("seguimiento").Select
Columns("A:A").Select
'
'
'El mismo texto que utilizarías en la función BUSCARV:
Textobuscado = "prueba"
'
Set Celda = Selection.Find(What:=Textobuscado, After:=ActiveCell, LookIn:=xlFormulas, _
        LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False)
'
If Not Celda Is Nothing Then
'
    Encontrado_en = Celda.Address
    MsgBox Encontrado_en
    'Range(Encontrado_en).Select
'
Else
    MsgBox "texto no encontrado"
End If
'
Asd.Select 'Recuperas la selección actual.
'
End Sub
Al final he utilizado DIRECCIÓN() por VBA: Application.WorksheetFunction.Match()
Tengo una tabla con dos columnas, una muestra fechas y otra el interés legal aplicado en cada fecha.
Busco fechaBuscada dentro de la columna "B" donde están las fechas (llamado DATES_INTERES_LEGAL en cuadro de nombres)
Set rngFecha = Range("B" & (Application.WorksheetFunction.Match _
     (CLng(fechaBuscada), Range("DATES_INTERES_LEGAL"), 1) + 3))
El nº 3 que sumo corresponde al nº de la fila donde comienza el rango (por ej. "B3"), puesto que DIRECCIÓN() me devuelve el nº de orden dentro de la tabla.
Para localizar el interés legal aplicado en dicha fecha, nombro a la tabla de dos columnas INTERES_LEGAL
interes = Application.WorksheetFunction.VLookup(rngFecha, _
        Range("INTERES_LEGAL"), 2, True)
De esta forma obtengo el address de la fecha que necesitaba para continuar el desarrollo, y el interés aplicado en dicha fecha.
Muchísimas gracias por tu valiosa ayuda
Sarah

Añade tu respuesta

Haz clic para o