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
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.
> 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
> =ActiveCell.Offset(xRighe,yColonne)
ops non serve il segno =
:-))
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
Siete meravigliosi, come al solito.
Francesco