Averiguar la referencia de celda que contiene un dato especifico

08/12/2006 - 22:33 por Miguel | Informe spam
Hola a todos, a ver si me podeis ayudar con este tema.

Necesito averiguar de alguna forma la referencia de una celda, que
pertenece a un rango, con un dato especifico. Por ejemplo, el rango
puede ser el siguiente:
A B C D E F G
1 1 2 3 4
2 5 6 7 8 9 10 11
3 12 13 14 15 16 17 18
4 19 20 21 22 23 24 25
5 26 27 28 29 30



La referencia de la celda que contiene el dato "7" es "C2". Entonces
quiero que esa referencia aparezca en la celda "AG21", puesto que en la
celda "AG20" tiene como dato a buscar el "7".
AA AB AC AD AE AF AG AH
20 1 2 3 4 5 6 7 8
21 C2
22
23
24



Muchas gracias a todos.

Miguel

Preguntas similare

Leer las respuestas

#1 AnSanVal
08/12/2006 - 23:26 | Informe spam
Hola Miguel.

Copia esta UDF en un módulo ordinario...

Function miRef(rango As Range, valor As Integer)
Dim celda As Range
For Each celda In rango
If celda.Value = valor Then
miRef = celda.Address
Exit Function
End If
Next celda
End Function

... y escribe en AG21: =miRef(A1:G5;AG20)

Saludos desde Tenerife.
***********************************
"Miguel" escribió en el mensaje
news:
Hola a todos, a ver si me podeis ayudar con este tema.

Necesito averiguar de alguna forma la referencia de una celda, que
pertenece a un rango, con un dato especifico. Por ejemplo, el rango
puede ser el siguiente:
A B C D E F G
1 1 2 3 4
2 5 6 7 8 9 10 11
3 12 13 14 15 16 17 18
4 19 20 21 22 23 24 25
5 26 27 28 29 30



La referencia de la celda que contiene el dato "7" es "C2". Entonces
quiero que esa referencia aparezca en la celda "AG21", puesto que en la
celda "AG20" tiene como dato a buscar el "7".
AA AB AC AD AE AF AG AH
20 1 2 3 4 5 6 7 8
21 C2
22
23
24



Muchas gracias a todos.

Miguel

Respuesta Responder a este mensaje
#2 KL
09/12/2006 - 00:26 | Informe spam
yo lo haria sin bucles:

Function miRef(ByRef rango As Range, ByVal valor As Double) As String
miRef = rango.Find(valor, rango(1, 1), xlValues, xlWhole).Address(0, 0)
End Function

Saludos,
KL


"AnSanVal" wrote in message news:
Hola Miguel.

Copia esta UDF en un módulo ordinario...

Function miRef(rango As Range, valor As Integer)
Dim celda As Range
For Each celda In rango
If celda.Value = valor Then
miRef = celda.Address
Exit Function
End If
Next celda
End Function

... y escribe en AG21: =miRef(A1:G5;AG20)

Saludos desde Tenerife.
***********************************
"Miguel" escribió en el mensaje news:
Hola a todos, a ver si me podeis ayudar con este tema.

Necesito averiguar de alguna forma la referencia de una celda, que
pertenece a un rango, con un dato especifico. Por ejemplo, el rango
puede ser el siguiente:
A B C D E F G
1 1 2 3 4
2 5 6 7 8 9 10 11
3 12 13 14 15 16 17 18
4 19 20 21 22 23 24 25
5 26 27 28 29 30



La referencia de la celda que contiene el dato "7" es "C2". Entonces
quiero que esa referencia aparezca en la celda "AG21", puesto que en la
celda "AG20" tiene como dato a buscar el "7".
AA AB AC AD AE AF AG AH
20 1 2 3 4 5 6 7 8
21 C2
22
23
24



Muchas gracias a todos.

Miguel





Respuesta Responder a este mensaje
#3 Miguel
09/12/2006 - 01:10 | Informe spam
Muchisimas gracias. Llevaba semanas devanandome la materia gris (que ya
queda poca) con este problema y vosotros dos me lo habeis resuelto en
un periquete. He probado las dos soluciones y son geniales, funcionan
de mil maravillas. La respuesta de AnSanVal me da la referencia
absoluta y la de KL la relativa; en cualquiera de los dos casos me
sirve. Por cierto... creo que voy a tener que estudiar un poco de
VBA... la demostracion ha sido rotunda.
Un abrazo y muchisimas gracias otra vez a los dos.
Saludos desde Lleida y aqui estoy para lo que haga falta.
Hasta pronto.

Miguel


AnSanVal ha escrito:

Hola Miguel.

Copia esta UDF en un módulo ordinario...

Function miRef(rango As Range, valor As Integer)
Dim celda As Range
For Each celda In rango
If celda.Value = valor Then
miRef = celda.Address
Exit Function
End If
Next celda
End Function

... y escribe en AG21: =miRef(A1:G5;AG20)

Saludos desde Tenerife.
Respuesta Responder a este mensaje
#4 Miguel
09/12/2006 - 01:14 | Informe spam
Muchisimas gracias. Llevaba semanas devanandome la materia gris (que ya
queda poca) con este problema y vosotros dos me lo habeis resuelto en
un periquete. He probado las dos soluciones y son geniales, funcionan
de mil maravillas. La respuesta de AnSanVal me da la referencia
absoluta y la de KL la relativa; en cualquiera de los dos casos me
sirve. Por cierto... creo que voy a tener que estudiar un poco de
VBA... la demostracion ha sido rotunda.
Un abrazo y muchisimas gracias otra vez a los dos.
Saludos desde Lleida y aqui estoy para lo que haga falta.
Hasta pronto.

Miguel


KL ha escrito:

yo lo haria sin bucles:

Function miRef(ByRef rango As Range, ByVal valor As Double) As String
miRef = rango.Find(valor, rango(1, 1), xlValues, xlWhole).Address(0, 0)
End Function

Saludos,
KL
Respuesta Responder a este mensaje
#5 Héctor Miguel
09/12/2006 - 03:37 | Informe spam
hola, Miguel !

Necesito averiguar de alguna forma la referencia de una celda, que pertenece a un rango, con un dato especifico.
Por ejemplo, el rango puede ser el siguiente:
A B C D E F G
1 1 2 3 4
2 5 6 7 8 9 10 11
3 12 13 14 15 16 17 18
4 19 20 21 22 23 24 25
5 26 27 28 29 30
La referencia de la celda que contiene el dato "7" es "C2".
Entonces quiero que esa referencia aparezca en la celda "AG21", puesto que en la celda "AG20" tiene como dato a buscar el "7"...



si te resulta util una formula 'matricial' [ya sabes, de las que se terminan con ctrl+mayusc+enter]... prueba con una +/- como:
[AG21] =direccion(min(si(a1:f5=ag20,fila(a1:a5))),min(si(a1:f5=ag20,columna(a1:f1))))

saludos,
hector.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida