riferimento cella di cerca verticale
Hai un problema con Excel? 
riferimento cella di §cerca verticale§
di Alessandro data: 23/09/2013 17:14:55
Buongiorno,
con una routine in VBA faccio una ricerca del testo presente nella cella "BF1" per la matrice "D7:BA30".
Come faccio ad ottenere l'indirizzo della cella che contiene questo dato?
Grazie
Alessandro
di Grograman (utente non iscritto) data: 23/09/2013 17:46:15
In assenza di file di esemio solo teoria.
Applica il metodo find alla matrice, ti restituirà un oggetto di tipo ranger da cui desumerai la proprietà address!
di Vecchio Frac data: 23/09/2013 19:11:59
@Grograman
cit. " ti restituirà un oggetto di tipo ranger da cui desumerai la proprietà address!"
---> Con la proprietà ranger desumerai al massimo (per incapsulamento) il metodo "Yoghi" da cui, per ereditarietà, un'istanza della classe "Bubu".
^_^
@Alessandro
Grò ti ha dato la dritta giusta.
Mostraci il codice con cui esegui la ricerca nella matrice via VBA: se usi .Find il suo risultato sarà una cella da cui ricavi l'indirizzo come ti ha detto Grò. Altrimenti, vediamo.
di Grograman (utente non iscritto) data: 23/09/2013 23:22:51
Cit: desumerai al massimo (per incapsulamento) il metodo "Yoghi" da cui, per ereditarietà, un'istanza della classe "Bubu".
Mehehe!
Maledetto t9....
ecco come ho fatto
di Alessandro data: 26/09/2013 10:26:45
sinceramente non penso ci fosse bisogno di allegare alcunchè.
Grazie comunque.
se avete ancora bisogno di farvi alcuni scambi di battute, avvisatemi che vi invio un post.
Alessandro
Sub XX4()
Dim x2 As Range
Dim TESTOCERCATO As String
TESTOCERCATO = Range("BF1") ' testo presente nella cella "BF1"
On Error GoTo fine ' se non trova nessun valore va a FINE:
Set x2 = Range("D7:BA30").Find(What:=TESTOCERCATO, LookIn:=xlValues, lookat:=xlPart)
'indicazioni per lookat: xlpart= qualsiasi parola; xlwhole=solo quello indicato-( usare anche *xx*)
ad_cella = x2.Address 'riferisce iindirizzo cella di x2
ad_colonna = x2.Column 'riferisce il numero di colonna di x2
ad_riga = x2.Row 'riferisce il numero di riga di x2
MsgBox ("valore: " & x2)
MsgBox ("indirizzo cella: " & ad_cella)
MsgBox ("colonna: " & ad_colonna)
MsgBox ("riga: " & ad_riga)
fine:
End Sub |
di Vecchio Frac data: 26/09/2013 11:22:13
Sono contento che hai risolto.
La battuta era rivolta a Grograman, e non era per sminuire l'interesse verso la tua questione, anzi. Credo che ti abbiamo risposto efficacemente e infatti hai trovato una soluzione (non l'unica, ci sono metodi diversi per farlo). Però non sapendo a priori fino a che livello di conoscenza approfondire, era difficile imbastire un suggerimento concreto. O volevi che ti scrivessimo noi le righe di codice?
Hai usato Find: perfetto, in x2 hai il dato cercato.
Sconsiglio di usare On Error (è pericoloso: se si solleva un errore diverso da quello di not found?), puoi verificare se il dato è stato trovato con con "if not x2 is nothing then ...".
p.s. credo che non si deve mai confondere la serietà con la seriosità. IMHO.
Vuoi Approfondire?