Ritorno su cella iniziale
Hai un problema con Excel? 
Ritorno su cella iniziale
di delfi data: 18/02/2014 10:59:51
ciao, sono profano di VBA.
Gradirei sapere se possibile disporre la macro in modo che, terminata l'esecuzione, sia visualizzata la posizione iniziale di avvio.
Esempio :
1) con un pulsante avvio la macro in B15 (n.b. ci sono più pulsanti sul foglio con lo stesso comando macro)
2) si completa l'attività macro, compreso aprire un pdf o anteprime
3) il cursore si posiziona in B15 da dove originariamente era avviata la macro, con visualizzazione adeguata.
Si noti che potri avere lo stesso pulsante in cella C45 o L120 e in quanto unica la macro serve un comando che memorizzi il punto di partenza per tornarvi poi (scusate la spiegazione "primordiale")
Grazie
ciao
di Lucas87 data: 18/02/2014 11:15:16
Ciao
Inserisci
Set pos = Selection
come prima istruzione, in modo che la cella selezionata venga memorizzata.
Alla fine del codice inserisci
pos.Select
di delfi data: 18/02/2014 11:39:00
La macro ritorna in effetti sulla posizione iniziale del "cursore".
Questa però NON sempre è la posizione del pulsante (che evidentemente non viene percepito come cella al momento dell'inizio)
Potrebbe bastare cmq.
Ti ringrazio
di patel data: 18/02/2014 12:06:34
la posizione del pulsante non viene percepito come cella, tu puoi avere un pulsante a cavallo di più celle, quindi devi selezionare una cella, cliccare sul pulsante ed alla fine ritroverai selezionata la cella
di Lucas87 data: 18/02/2014 12:09:17
Forse ti può andare bene questo
di scossa data: 18/02/2014 14:38:59
cit. delfi: "Gradirei sapere se possibile disporre la macro in modo che, terminata l'esecuzione, sia visualizzata la posizione iniziale di avvio"
Se si evita di usare *inutilmente* il metodo Select (nel 90% dei casi non serve) la cella che era attiva prima della macro resta quella attiva anche alla fine.
Altrimenti puoi memorizzarla tra le prime istruzioni con
Set CellaDoveEro = ActiveCell
e alla fine riselezionarla con
cella.Parent.Activate
cella.Select
di delfi (utente non iscritto) data: 18/02/2014 16:12:35
Vi ringrazio, ma ho risolto eliminando l'istruzione; infatti anche senza "scegliere" la cella del pulsante, quando la macro è completa rientra nel foglio con la medesima visualizzazione di partenza (indipendentemene da dove si trova il "cursore" o cella attiva.
A volte troppa perfezione non serve ... specie per i principianti !!
Grazie
di scossa data: 18/02/2014 16:36:53
cit.: "Vi ringrazio, ma ho risolto eliminando l'istruzione"
che è quello che intendevo con: "Se si evita di usare *inutilmente* il metodo Select (nel 90% dei casi non serve) la cella che era attiva prima della macro resta quella attiva anche alla fine."
di scossa data: 18/02/2014 20:22:19
errata:
Set CellaDoveEro = ActiveCell
e alla fine riselezionarla con
cella.Parent.Activate
cella.Select
corrige:
Set CellaDoveEro = ActiveCell
e alla fine riselezionarla con
CellaDoveEro.Parent.Activate
CellaDoveEro.Select
Vuoi Approfondire?