(troppo vecchio per rispondere)
trovare nome cella
prapra
2008-06-01 13:39:14 UTC
Vorrei trovare il "nome" di una cella in base al contenuto, mi spiego:
in una colonna (es. la colonna A) ho vari valori (sempre diversi) e in
una cella di un'altra colonna ho uno di questi valori (determinato da
un calcolo); vorrei una formula che mi restituisse il riferimento alla
cella (della colonna) che lo contiene. Cioè non voglio trovare la
cella, ma avere le sue coordinate per poi utilizzarle in una macro. Mi
sembrava semplice, ma non trovo la soluzione...
ciao, grazie e buona domenica.
giovanna
2008-06-01 14:03:46 UTC
Post by prapra
in una colonna (es. la colonna A) ho vari valori (sempre diversi) e in
una cella di un'altra colonna ho uno di questi valori (determinato da
un calcolo); vorrei una formula che mi restituisse il riferimento alla
cella (della colonna) che lo contiene. Cioè non voglio trovare la
cella, ma avere le sue coordinate
ciao,
prova così:
ipotizzando il tuo elenco valori in colonna A, a partire da A2 e il
valore di riferimento in cella G2:
=INDIRIZZO(CONFRONTA(G2;A2:A10;0)+1;1;4)
Se cambi colonna-elenco devi sostituire il valore 1 del secondo
argomento della funzione INDIRIZZO() (quello che precede il 4), con il
numero di colonna.
Questa ti restituisce l'indirizzo cella coem riferimento relativo
(es.A3).
Se preferisci o ti serve quello assoluto:
=INDIRIZZO(CONFRONTA(G2;A2:A10;0)+1;1;)
vedi se...
--
ciao
giovanna
.......................
www.riolab.org
.........................
Norman Jones
2008-06-01 14:22:24 UTC
Ciao Prapra,

=============
Vorrei trovare il "nome" di una cella in base al contenuto, mi spiego:
in una colonna (es. la colonna A) ho vari valori (sempre diversi) e in
una cella di un'altra colonna ho uno di questi valori (determinato da
un calcolo); vorrei una formula che mi restituisse il riferimento alla
cella (della colonna) che lo contiene. Cioè non voglio trovare la
cella, ma avere le sue coordinate per poi utilizzarle in una macro. Mi
sembrava semplice, ma non trovo la soluzione...
=============

Visto che vuoi utilizzare il risultato in
una macro, prova qualcosa del genere:

'==========>>
Public Sub Tester
Dim WB As Workbook
Dim SH As Worksheet
Dim Rng As Range
Dim Rng2 As Range
Dim Res As Variant
Dim sAddress As String

Set WB = Workbooks("Pippo.xls") '<<=== da CAMBIARE
et SH = WB.Sheets("Foglio1") '<<=== da CAMBIARE

With SH
Set Rng = .Columns("A:A") '<<=== da CAMBIARE
Set Rng2 = .Range("D7") '<<=== da CAMBIARE
End With

Res = Application.Match(Rng2.Value, Rng.Cells, 0)

If Not IsError(Res) Then
sAddress = Rng.Cells(Res).Address
MsgBox sAddress
End If

End Sub
'<<==========



---
Regards.
Norman
prapra
2008-06-01 16:00:54 UTC
Post by Norman Jones
Ciao Prapra,
=============
in una colonna (es. la colonna A) ho vari valori (sempre diversi) e in
una cella di un'altra colonna ho uno di questi valori (determinato da
un calcolo); vorrei una formula che mi restituisse il riferimento alla
cella (della colonna) che lo contiene. Cioè non voglio trovare la
cella, ma avere le sue coordinate per poi utilizzarle in una macro. Mi
sembrava semplice, ma non trovo la soluzione...
=============
Visto che vuoi utilizzare il risultato in
'==========>>
Public Sub Tester
Dim WB As Workbook
Dim SH As Worksheet
Dim Rng As Range
Dim Rng2 As Range
Dim Res As Variant
Dim sAddress As String
Set WB = Workbooks("Pippo.xls") '<<=== da CAMBIARE
et SH = WB.Sheets("Foglio1") '<<=== da CAMBIARE
With SH
Set Rng = .Columns("A:A") '<<=== da CAMBIARE
Set Rng2 = .Range("D7") '<<=== da CAMBIARE
End With
Res = Application.Match(Rng2.Value, Rng.Cells, 0)
If Not IsError(Res) Then
sAddress = Rng.Cells(Res).Address
MsgBox sAddress
End If
End Sub
'<<==========
---
Regards.
Norman
Grazie a tutti e due. La formula di Giovanna funziona senza problemi
ed è sufficiente, ma ovviamente comporta che indichi alla macro su
quale cella puntare. Mi piacerebbe quindi la proposta di Norman, ma
qui ho dei problemi: ho ovviamente sostituito il nome del file
"pippo.xls" con il mio "NomeCella.xls" (ho creato un file nuovo per
provare); il nome del foglio è rimasto uguale perché non lo ho
rinominato; Il Rng colonna è sempre A:A perche lì ho scrito i miei
valori di prova; mentre il Range D7 .... forse non lo ho capito. Ho
inserito il riferimento alla cella dove è il valore da confrontare, ma
all'esecuzione appare la finestrina "Errore di compilazione" con
l'avviso "Sub o Function non definita" e qui mi fermo. Devo forse
aggiungere nella macro l'istruzione di "cosa fare" per vedere un
risultato?
ciao
Norman Jones
2008-06-01 16:29:04 UTC
Ciao Papra,

==============
Grazie a tutti e due. La formula di Giovanna funziona senza problemi
ed è sufficiente, ma ovviamente comporta che indichi alla macro su
quale cella puntare. Mi piacerebbe quindi la proposta di Norman, ma
qui ho dei problemi: ho ovviamente sostituito il nome del file
"pippo.xls" con il mio "NomeCella.xls" (ho creato un file nuovo per
provare); il nome del foglio è rimasto uguale perché non lo ho
rinominato; Il Rng colonna è sempre A:A perche lì ho scrito i miei
valori di prova; mentre il Range D7 .... forse non lo ho capito. Ho
inserito il riferimento alla cella dove è il valore da confrontare, ma
all'esecuzione appare la finestrina "Errore di compilazione" con
l'avviso "Sub o Function non definita" e qui mi fermo. Devo forse
aggiungere nella macro l'istruzione di "cosa fare" per vedere un
risultato?
==============

Potrei mandarti um semplice file di prova
in risposta ad una email::

***@NOSPAMbtconnectDOTcom

(Cancella "NOSPAM" e sostituisci "DOT" con un punto)

Tuttavia puoi creare il file moloto facilmente:

Nel Foglio1 del nuovo file, nelle celle
A1:26 ho inserito i nomi:

NAME
Anne
Ben
Carol
David
Ewan
Freda
George
Helen
Ian
Jane
Ken
Len
Mary
Nigel
Olga
Penny
Quentin
Rita
Sam
Teresa
Ursula
Vera
William
Xavier
Zack


Nella cella D7 (scelta a caso) ho inserito : Anne

Avviando il mio codice, il MsgBox
fornisce il messaggio:

$A$2



---
Regards.
Norman
prapra
2008-06-01 17:28:21 UTC
Post by Norman Jones
Ciao Papra,
==============
Grazie a tutti e due. La formula di Giovanna funziona senza problemi
ed è sufficiente, ma ovviamente comporta che indichi alla macro su
quale cella puntare. Mi piacerebbe quindi la proposta di Norman, ma
qui ho dei problemi: ho ovviamente sostituito il nome del file
"pippo.xls" con il mio "NomeCella.xls" (ho creato un file nuovo per
provare); il nome del foglio è rimasto uguale perché non lo ho
rinominato; Il Rng colonna è sempre A:A perche lì ho scrito i miei
valori di prova; mentre il Range D7 .... forse non lo ho capito. Ho
inserito il riferimento alla cella dove è il valore da confrontare, ma
all'esecuzione appare la finestrina "Errore di compilazione" con
l'avviso "Sub o Function non definita" e qui mi fermo. Devo forse
aggiungere nella macro l'istruzione di "cosa fare" per vedere un
risultato?
==============
Potrei mandarti um semplice file di prova
(Cancella "NOSPAM" e sostituisci "DOT" con un punto)
Nel Foglio1 del nuovo file, nelle celle
NAME
Anne
Ben
Carol
David
Ewan
Freda
George
Helen
Ian
Jane
Ken
Len
Mary
Nigel
Olga
Penny
Quentin
Rita
Sam
Teresa
Ursula
Vera
William
Xavier
Zack
Nella cella D7 (scelta a caso) ho inserito : Anne
Avviando il mio codice, il MsgBox
$A$2
---
Regards.
Norman
Ho riprodotto la tua pagina esatta, ma continua a darmi lo stesso
errore. Ti sarò molto grato se potrai inviarmi un file di prova, oggi
però il nostro account (maledetta BT!) è tutto il giorno che non
funziona, neanche dal web. Proverò domani. Per questa sera grazie. Ciao
eliano
2008-06-01 22:15:01 UTC
Post by prapra
Post by Norman Jones
Ciao Prapra,
=============
in una colonna (es. la colonna A) ho vari valori (sempre diversi) e in
una cella di un'altra colonna ho uno di questi valori (determinato da
un calcolo); vorrei una formula che mi restituisse il riferimento alla
cella (della colonna) che lo contiene. Cioè non voglio trovare la
cella, ma avere le sue coordinate per poi utilizzarle in una macro. Mi
sembrava semplice, ma non trovo la soluzione...
=============
Visto che vuoi utilizzare il risultato in
'==========>>
Public Sub Tester
Dim WB As Workbook
Dim SH As Worksheet
Dim Rng As Range
Dim Rng2 As Range
Dim Res As Variant
Dim sAddress As String
Set WB = Workbooks("Pippo.xls") '<<=== da CAMBIARE
et SH = WB.Sheets("Foglio1") '<<=== da CAMBIARE
With SH
Set Rng = .Columns("A:A") '<<=== da CAMBIARE
Set Rng2 = .Range("D7") '<<=== da CAMBIARE
End With
Res = Application.Match(Rng2.Value, Rng.Cells, 0)
If Not IsError(Res) Then
sAddress = Rng.Cells(Res).Address
MsgBox sAddress
End If
End Sub
'<<==========
---
Regards.
Norman
Grazie a tutti e due. La formula di Giovanna funziona senza problemi
ed è sufficiente, ma ovviamente comporta che indichi alla macro su
quale cella puntare. Mi piacerebbe quindi la proposta di Norman, ma
qui ho dei problemi: ho ovviamente sostituito il nome del file
"pippo.xls" con il mio "NomeCella.xls" (ho creato un file nuovo per
provare); il nome del foglio è rimasto uguale perché non lo ho
rinominato; Il Rng colonna è sempre A:A perche lì ho scrito i miei
valori di prova; mentre il Range D7 .... forse non lo ho capito. Ho
inserito il riferimento alla cella dove è il valore da confrontare, ma
all'esecuzione appare la finestrina "Errore di compilazione" con
l'avviso "Sub o Function non definita" e qui mi fermo. Devo forse
aggiungere nella macro l'istruzione di "cosa fare" per vedere un
risultato?
ciao
Ciao prapra.
Non sarebbe male se tentaste di leggere le singole istruzioni delle routine
che vi vengono gentilmente fornite, aitutandovi eventualmente con la guida in
linea.
Nel caso specifico Norman è stato un po' "avaro" :-) ed ha dimenticato di
scrivere correttamente una istruzione.

Questa:
et SH = WB.Sheets("Foglio1") '<<=== da CAMBIARE
dovrebbe essere:
Set SH = WB.Sheets("Foglio1") '<<=== da CAMBIARE

Prova ad aggiungere la "S" iniziale all'istruzione "Set" e se dovesse come
di consueto funzionare, non venirmi a dire che non te ne potevi accorgere.
:-))
Eliano
prapra
2008-06-02 08:52:02 UTC
Post by eliano
Post by prapra
Post by Norman Jones
Ciao Prapra,
=============
in una colonna (es. la colonna A) ho vari valori (sempre diversi) e in
una cella di un'altra colonna ho uno di questi valori (determinato da
un calcolo); vorrei una formula che mi restituisse il riferimento alla
cella (della colonna) che lo contiene. Cioè non voglio trovare la
cella, ma avere le sue coordinate per poi utilizzarle in una macro. Mi
sembrava semplice, ma non trovo la soluzione...
=============
Visto che vuoi utilizzare il risultato in
'==========>>
Public Sub Tester
Dim WB As Workbook
Dim SH As Worksheet
Dim Rng As Range
Dim Rng2 As Range
Dim Res As Variant
Dim sAddress As String
Set WB = Workbooks("Pippo.xls") '<<=== da CAMBIARE
et SH = WB.Sheets("Foglio1") '<<=== da CAMBIARE
With SH
Set Rng = .Columns("A:A") '<<=== da CAMBIARE
Set Rng2 = .Range("D7") '<<=== da CAMBIARE
End With
Res = Application.Match(Rng2.Value, Rng.Cells, 0)
If Not IsError(Res) Then
sAddress = Rng.Cells(Res).Address
MsgBox sAddress
End If
End Sub
'<<==========
---
Regards.
Norman
Grazie a tutti e due. La formula di Giovanna funziona senza problemi
ed è sufficiente, ma ovviamente comporta che indichi alla macro su
quale cella puntare. Mi piacerebbe quindi la proposta di Norman, ma
qui ho dei problemi: ho ovviamente sostituito il nome del file
"pippo.xls" con il mio "NomeCella.xls" (ho creato un file nuovo per
provare); il nome del foglio è rimasto uguale perché non lo ho
rinominato; Il Rng colonna è sempre A:A perche lì ho scrito i miei
valori di prova; mentre il Range D7 .... forse non lo ho capito. Ho
inserito il riferimento alla cella dove è il valore da confrontare, ma
all'esecuzione appare la finestrina "Errore di compilazione" con
l'avviso "Sub o Function non definita" e qui mi fermo. Devo forse
aggiungere nella macro l'istruzione di "cosa fare" per vedere un
risultato?
ciao
Ciao prapra.
Non sarebbe male se tentaste di leggere le singole istruzioni delle routine
che vi vengono gentilmente fornite, aitutandovi eventualmente con la guida in
linea.
Nel caso specifico Norman è stato un po' "avaro" :-) ed ha dimenticato di
scrivere correttamente una istruzione.
et SH = WB.Sheets("Foglio1") '<<=== da CAMBIARE
Set SH = WB.Sheets("Foglio1") '<<=== da CAMBIARE
Prova ad aggiungere la "S" iniziale all'istruzione "Set" e se dovesse come
di consueto funzionare, non venirmi a dire che non te ne potevi accorgere.
:-))
Eliano
Ed hai perfettamente ragione! E infatti funziona. tento solo una
giustificazione: sono così ignorante che cercando di capire il
percorso (la logica del discorso) che perdo di vista l'ortografia, mi
capitava anche a scuola... non ha caso ho finito col fare delle scuole
d'arte.
Dunque mi scuso e ringrazio per la gentilezza, però vorrei capire una
cosa. Non so quale siano le regole del NG, ne perché una "comunità" di
persone competenti sia così prodiga di aiuti (tutti i giorni e a tutte
le ore). Mi sembra una cosa bella e vi sono enormemente grato, ma mi
dispiacerebbe essere solo una scocciatura. Nel senso che EXCEL è quasi
una "droga" e tutte le volte che si risolve un problema, viene voglia
di porsene un altro: qualche volta le risposte si trovano da soli
(anche leggendo sul NG) in altri casi ci si sbatte la testa e viene
facile porre il problema al gruppo. In un contesto diverso (di ciccia)
tenterei di mostrarvi riconoscenza con... tarallucci e vino (per
dire), ma sul web posso solo ringraziare.
Prendente questa come una chiacchera da 2 giugno, e grazie ancora a
tutti.
eliano
2008-06-03 22:44:09 UTC
Ciao prapra.
Ti rispondo punto per punto, iniziando con un chiarimento: era una
risposta/consiglio, non una reprimenda per la tua disattenzione. :-))

"prapra" ha scritto:

[cut]
Post by prapra
Post by eliano
Ciao prapra.
Non sarebbe male se tentaste di leggere le singole istruzioni delle routine
che vi vengono gentilmente fornite, aitutandovi eventualmente con la guida in
linea.
Nel caso specifico Norman è stato un po' "avaro" :-) ed ha dimenticato di
scrivere correttamente una istruzione.
et SH = WB.Sheets("Foglio1") '<<=== da CAMBIARE
Set SH = WB.Sheets("Foglio1") '<<=== da CAMBIARE
Prova ad aggiungere la "S" iniziale all'istruzione "Set" e se dovesse come
di consueto funzionare, non venirmi a dire che non te ne potevi accorgere.
:-))
Eliano
Ed hai perfettamente ragione! E infatti funziona. tento solo una
giustificazione: sono così ignorante che cercando di capire il
percorso (la logica del discorso) che perdo di vista l'ortografia, mi
capitava anche a scuola... non ha caso ho finito col fare delle scuole
d'arte.
Nessuno ti ha chiesto di giustificarti e per quanto riguarda la tua
ignoranza nel Vba, non ti preoccupare: io conosco molto bene la mia. :-((
Post by prapra
Dunque mi scuso e ringrazio per la gentilezza, però vorrei capire una
cosa. Non so quale siano le regole del NG, ne perché una "comunità" di
persone competenti sia così prodiga di aiuti (tutti i giorni e a tutte
le ore). Mi sembra una cosa bella e vi sono enormemente grato, ma mi
dispiacerebbe essere solo una scocciatura.
Per le regole dovrebbero essere tutte improntate al rispetto reciproco in un
ambiente caratterizzato da estrema libertà; quindi libertà negli accessi,
libertà, civiltà ed educazione nello scambio di opinionie.
In questo NG nessuno deve dimostrare qualcosa a qualcuno, ma discutere sulle
problematiche Excel porgendo così un aiuto chiarificatore a tutti quei
partecipanti che ne hanno bisogno, cioè a gente come te e come me; il perchè
persone esperte nella programmazione ed in excel in genere siano prodighi di
interventi nonostante la endemica mancanza di tempo disponibile ci dice solo
che il mondo, tutto sommato, non è così brutto come viene dipinto.:-))
Quindi, per quanto riguarda il sospetto di scocciatore, credo che quello sia
da cancellare perchè non logico o coerente con la situazione.
Post by prapra
Nel senso che EXCEL è quasi
una "droga" e tutte le volte che si risolve un problema, viene voglia
di porsene un altro: qualche volta le risposte si trovano da soli
(anche leggendo sul NG) in altri casi ci si sbatte la testa e viene
facile porre il problema al gruppo. In un contesto diverso (di ciccia)
tenterei di mostrarvi riconoscenza con... tarallucci e vino (per
dire), ma sul web posso solo ringraziare.
E nessuno ti chiede niente di più di un cenno di riscontro, mi pare.
Comunque, se XL ti interessa, il consiglio è di continuare a seguire il
gruppo, formandoti così una cultura che ti potrebbe portare ad essere attore
nel proporre aiuti chiarificatori ad eventuali richiedenti.

Cordialmente
Eliano
Post by prapra
Prendente questa come una chiacchera da 2 giugno, e grazie ancora a
tutti.