Benvenuto Ospite Cerca | Topic Attivi | Utenti | | Log In | Registra

[Excel 2007]- Macro per eseguire un "go to..." Opzioni
aetio
Inviato: Friday, January 11, 2013 12:22:17 AM

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
Sponsor
Inviato: Friday, January 11, 2013 12:22:17 AM

 
a10n11
Inviato: Friday, January 11, 2013 12:52:38 PM

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

aetio
Inviato: Friday, January 11, 2013 1:57:02 PM

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.

aetio
Inviato: Friday, January 11, 2013 3:35:40 PM

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.
a10n11
Inviato: Friday, January 11, 2013 5:27:33 PM

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

aetio
Inviato: Friday, January 11, 2013 5:35:56 PM

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.
Utenti presenti in questo topic
Guest


Salta al Forum
Aggiunta nuovi Topic disabilitata in questo forum.
Risposte disabilitate in questo forum.
Eliminazione tuoi Post disabilitata in questo forum.
Modifica dei tuoi post disabilitata in questo forum.
Creazione Sondaggi disabilitata in questo forum.
Voto ai sondaggi disabilitato in questo forum.

Main Forum RSS : RSS

Aiutamici Theme
Powered by Yet Another Forum.net versione 1.9.1.8 (NET v2.0) - 3/29/2008
Copyright © 2003-2008 Yet Another Forum.net. All rights reserved.