saber celdas que forman parte de un nombre de celda

13/10/2006 - 22:18 por Pedro Latasa | Informe spam
buenas.
quiero saber la celda E25 en cuántos nombres de celda ha sido incluida. ¿Lo
puedo saber?
Desde Insertar -- >Nombre --> Definición soy capaz de saber los nombres de
celdas y sus rangos, pero, cómo puedo obtener la información al revés.

Muchas gracias. Un saludo.

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
13/10/2006 - 23:55 | Informe spam
hola, Pedro !

Mostrar la cita
en agosto de 2003 hubo una consulta 'similar' a esta que planteas... [por si te resulta de utilidad]...
copio/pego la conversacion de entonces :))

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

=
Mostrar la cita
-> que pasa cuando desconoces [o no estas seguro de] si la celda...
- tiene [o no] un nombre 'asignado'?
- 'forma parte de' un nombre [o de mas de uno] con referencia a rangos NO 'continuos'?
- 'forma parte de' un nombre [o de mas de uno] PERO... como argumentos 'dentro' de una formula?

-> quizas no sea 'el momento' pero [estoy seguro que mas adelante] el siguiente codigo podria servir :))
-> solo 'funciona' para los dos primeros casos:
Sub Celda_En_Nombre()
Dim Nombre As Name, _
Celda As String, Ref_Nombre As String, Mensaje As String
Celda = ActiveCell.Address
On Error Resume Next
For Each Nombre In ActiveWorkbook.Names
Ref_Nombre = Nombre.RefersToRange.Address
If Ref_Nombre <> "" Then
If Not Intersect(Range(Celda), Range(Ref_Nombre)) Is Nothing _
Then Mensaje = Mensaje & "> " & Nombre.Name & vbCr
Ref_Nombre = ""
End If
Next
If Mensaje = "" Then Mensaje = "Ninguno !!!"
MsgBox "Nombres en los que ""interviene"" " & Celda & vbCr & Mensaje
End Sub
#2 David
13/10/2006 - 23:57 | Informe spam
Se me ocurre con código. No sé si habrá otra forma.

Prueba correr el siguiente procedimiento después de haber seleccionado la
celda que quieres investigar:

Sub ContenidoEn()
Dim Rangos, d As String
On Error Resume Next
Rangos = "Contenido en los rangos: " & Chr(13) & Chr(13)
For r = 1 To ActiveWorkbook.Names.Count
d = ""
d = (Application.Intersect(Range(ActiveCell.Address),
Range(ActiveWorkbook.Names(r).Name)).Address)
If Len(d) > 0 Then Rangos = Rangos & ActiveWorkbook.Names(r).Name &
Chr(13)
Next
MsgBox Rangos
End Sub




"Pedro Latasa" escribió:

Mostrar la cita
#3 David
14/10/2006 - 00:13 | Informe spam
¡Muy buena, Héctor!

No había usado el método Intersect de esa manera.

Pedro: Ya tienes dos para escoger...



"Héctor Miguel" escribió:

Mostrar la cita
#4 Toni
14/10/2006 - 00:18 | Informe spam
Hola Héctor,

Supongo que para recordar un tema de hace más de 3 años utilizas
algún buscador por temas o similar.
Si no es así, te felicito por tu memoria temática.
Yo, en ocasiones, tengo problemas para recordar lo que
cené ayer noche.

Cordiales saludos desde Barcelona.
Antonio Andrés.






Mostrar la cita
#5 Héctor Miguel
14/10/2006 - 00:37 | Informe spam
hola, Toni !

Mostrar la cita
no creas que 'confio' [demasiado] en la memoria :D [confucio decia:]
-> ' es mejor la mas palida tinta... que la mas brillante memoria ' :))

lo que yo hago [outlook express] es:
1) he creado 'nuevas' carpetas en la 'bandeja' de las carpetas locales 'categorizadas'
2) de los mensajes que descargo, los que considero 'memorables' [o... 'con futuro']
los copio a 'su' carpeta [incluso, quedan fuera de las 'acciones' de mantenimiento]
3) ademas [y 'solo por si las...'], periodicamente hago respaldos de las mismas.
4) buscar mensajes/temas/contenidos/... en esas carpetas ? -> 'pan comido' :))

espero sea de utilidad ;)
saludos,
hector.
Ads by Google
Search Busqueda sugerida