Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Spostarsi di cella con una macro Excel

8,705 views
Skip to first unread message

Francesco

unread,
Nov 13, 2005, 11:53:23 AM11/13/05
to

Ciao a tutti.

Ho la necessità, in un mio foglio di lavoro Excel, di spostarmi con
una macro di "n" celle a destra (ed anche in basso) rispetto a quella
attualmente selezionata.

Il problema è che la macro dovrebbe funzionare da qualsiasi cella,
quindi NON dovrebbe avere dei riferimenti "assoluti" di cella.

Qualcuno mi sa spiegare come farlo?


Grazie.

Francesco

Inbario

unread,
Nov 13, 2005, 12:13:03 PM11/13/05
to

"Francesco" <non...@hotmail.com> ha scritto nel messaggio
news:1131900803.5...@z14g2000cwz.googlegroups.com...

Ciao a tutti.


Grazie.

Francesco

=ActiveCell.Offset(xRighe,yColonne)

sostituisci xRighe con il numero di righe di cui vuoi vuoi spostarti in
basso,un numero negativo per spostarti verso l'alto,


sostituisci yColonne con il numero di colonne di cui vuoi vuoi spostarti a
destra,un numero negativo per spostarti verso sinistra.


Ignazio

unread,
Nov 13, 2005, 12:17:12 PM11/13/05
to
"Francesco" <non...@hotmail.com> ha scritto nel messaggio
news:1131900803.5...@z14g2000cwz.googlegroups.com...

> Ho la necessità, in un mio foglio di lavoro Excel, di spostarmi con


> una macro di "n" celle a destra (ed anche in basso) rispetto a quella
> attualmente selezionata.
>
> Il problema è che la macro dovrebbe funzionare da qualsiasi cella,
> quindi NON dovrebbe avere dei riferimenti "assoluti" di cella.

Supponiamo che vuoi spostare la cella attiva di 5 celle a destra e 5 celle
in basso.
Puoi usare una delle 2 seguenti istruzioni:
ActiveCell.Cells(6, 6).Select
ActiveCell.Offset(5, 5).Select

Se invece n è una variabile:
ActiveCell.Cells(n + 1, n + 1).Select
ActiveCell.Offset(n, n).Select

--
Ciao
Ignazio


Inbario

unread,
Nov 13, 2005, 12:15:09 PM11/13/05
to

> =ActiveCell.Offset(xRighe,yColonne)

ops non serve il segno =
:-))


Thunder

unread,
Nov 13, 2005, 12:14:48 PM11/13/05
to

"Francesco" <non...@hotmail.com> ha scritto nel messaggio
news:1131900803.5...@z14g2000cwz.googlegroups.com...

Ciao a tutti.


Grazie.

Francesco

Ciao Francesco,

il tuo problema è risolvibile semplicemente utilizzando i riferimenti
relativi del registratore di macro.
Quando avvii il registratore, ti compare una barra con 2 tasti: uno è quello
di interruzione della registrazione e l'altro è quello che definisce se il
riferimento deve essere assoluto oppure relativo.
Cliccando su questo pulsante otterrai la macro che fa al caso tuo.

Comunque il codice da inserire se vuoi che dalla cella attiva la selezione
si sposti di 2 celle a dx e 2 celle in basso è:

ActiveCell.Offset(2, 2).Select

Ciao
Thunder


Francesco

unread,
Nov 14, 2005, 4:38:29 AM11/14/05
to

Grazie a tutti per la prontezza e la competenza..

Siete meravigliosi, come al solito.

Francesco

0 new messages