Rank: AiutAmico
Iscritto dal : 5/10/2010 Posts: 723
|
Ciao, in un foglio ho una serie di tabelle disposte una di fianco all'altra, ma non adiacenti, in cui attualmente devo cercare di volta in volta (manualmente) quella che mi interessa consultare, a seconda delle esigenze. A titolo di esempio, la prima tabella inizia da col.A e l'ultima termina in col.AAO. Se si considera che nel file vi sono parecchi fogli contenenti queste tabelle, una diversa dall'altra, si intuisce che fare il lavoro manualmente è dispendioso e ricco di insidie (il lavoro manuale, anche il più certosino, è alla fine sempre approssimativo e l'errore può sempre scappare...). Dato che c'è comunque sempre una "costante" vorrei cercare di risolvere il problema con una Santa Macro che di sicuro sarebbe velocissima e non sbaglierebbe mai... In pratica, è possibile scrivere una macro che svolga questo lavoro: cerca nel foglio, partendo da col.AM, la tabella che abbia in una colonna il codice scritto in cella AH3 e mostrami quella tabella (la cella AH3 è la costante di cui parlavo)? Quel codice, nella tabella da mostrare, è sempre in riga 3, mentre la probabile colonna è tra le BS, DA, EI, FQ, GY, IG, JO, KW, ME, NM, OU, QC, RK, SS, UA, VI, WQ, XY, ZG, AAO. Grazie assai e buona serata, eZio
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
salve prova se può andarti bene questa: Sub CercaEVai() Strsearch = Range("AH3").Value Lrow = Range("am" & Rows.Count).End(xlUp).Row Set Rng = Range("AM1:AAO" & Lrow) With Rng Set c = .Find(what:=Strsearch, LookIn:=xlValues) c.Select End With Set Rng = Nothing End Sub saluti Giap
|
Rank: AiutAmico
Iscritto dal : 5/10/2010 Posts: 723
|
Ciao, a10n11 ha scritto: prova se può andarti bene questa: Sub CercaEVai() Strsearch = Range("AH3").Value Lrow = Range("am" & Rows.Count).End(xlUp).Row Set Rng = Range("AM1:AAO" & Lrow) With Rng Set c = .Find(what:=Strsearch, LookIn:=xlValues) c.Select End With Set Rng = Nothing End Sub
solo due parole per definirla: Divinamente Perfetta!! (apprezzare l'estrema sintesi delle istruzioni...!!) Grazie infinite, buon pomeriggio eZio.
|
Rank: AiutAmico
Iscritto dal : 5/10/2010 Posts: 723
|
EDIT: Ciao, Lo so.... sono pedante ...ma quasi sempre a fin di bene. :-)) Domanda: si può inserire nella macro una coordinata semplice-semplice in modo che la colonna della cella trovata non si posizioni al centro della finestra di Excel? Motivazione: la tabella risulta visibile parzialmente, mentre spostando un poco sulla destra la posizione della cella trovata, la tabella risulterebbe tutta visibile nella finestra. Grazie infinite (e chiedo scusa), buon pomeriggio eZio.
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
aetio ha scritto:EDIT: Ciao, Lo so.... sono pedante ...ma quasi sempre a fin di bene. :-)) Domanda: si può inserire nella macro una coordinata semplice-semplice in modo che la colonna della cella trovata non si posizioni al centro della finestra di Excel? Motivazione: la tabella risulta visibile parzialmente, mentre spostando un poco sulla destra la posizione della cella trovata, la tabella risulterebbe tutta visibile nella finestra. Grazie infinite (e chiedo scusa), buon pomeriggio eZio.
Salve usa un offset nell'istruzione select nella riga: c.Select questa che segue sposta la selezione di una colonna sulla destra della cella trovata. c.offset(,1).select oppure aggiungi in fondo alla macro questa istruzione: ActiveWindow.SmallScroll ToRight:=1 cambia il valore 1 in base a quanto ti vuoi spostare saluti Giap
|
Rank: AiutAmico
Iscritto dal : 5/10/2010 Posts: 723
|
Ciao, mi hai battuto sul tempo: ho usato l'opzione2, ma la sostituisco subito con la 1 (che non sapevo come applicare in questo caso specifico) ;-)) mi sono già dato 100 frustate... che vergogna! era di una semplicità mostruosa. Grazie infinite, buona serta eZio.
|