Ciao andromeda,
una soluzione potrebbe essere questa :
selezioni le varie celle a cui poi dovrai saltare dall' una all'
altra, vai su Formule-definisci nome
e dai un nome all' intervallo
in questo modo selezionando quell'intervallo dal menù a discesa posto
a fianco della barra della formula puoi passare da una casella all'
altra con il tasto TAB
:)
Ciao e fai sapere se e come hai risolto
Luca
Ciao Andromeda.
Normalmente con foglio protetto il tasto TAB ti permette di spostarti
su tutte le celle Sprotette esistenti sul foglio.
Per altra soluzione vedi al link: http://ennius.altervista.org/vba/vba126.php
Saluti
Eliano
In sintesi se le celle di input sono:
a2
c6
d2
(sparse nel foglio) una volta immesso il valore nella cella a2 e premuto
return il cursore si deve posizionare automaticamente in c6 per il successivo
reinserimento e cosi via.
Eliano gentilmente mi ha proposto una procedura che (a mio avviso) si limita
a "intervalli orizzontali" ------->
<-------
ma non casuali come nell'esempio da me proposto.
Gradirei anche da Eliano se ho interpretato male il suo suggerimento.
Scusate il ripensamento.
--
Vicavica1949
"Lukas" ha scritto:
> .
>
Ciao Andromeda, anzi Luludo1949.:-))
A parte il fatto che "casuale" potrebbe avere in XL in significato
specifico, bisognerebbe sapere il criterio per il quale ti devi
spostare da una specifica cella all'altra e se quel criterio potesse
essere riprodotto in una routine.
Rispondendo alla lettera del tuo esempio, prova questa routine molto
artigianale e troppo "pedestre" che con il variare del valore scritto
in una cella ti sposta il cursore alla successiva, con evidenti
problematiche nel caso che le celle base delle immissioni successive
fossero troppo numerose (sic).
La "macrina", basata sull'evento Change è da inserire nel Modulo del
foglio interessato, ad esempio Foglio1:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("A2").Address Then Range("C6").Select
If Target.Address = Range("C6").Address Then Range("D2").Select
If Target.Address = Range("D2").Address Then Range("A2").Select
End Sub
Facci sapere, grazie.
Eliano
Ok era quello che desideravo fare, Ti ringrazio Eliano anche per la
spiegazione fornitami.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("A2").Address Then Range("C6").Select
If Target.Address = Range("C6").Address Then Range("D2").Select
If Target.Address = Range("D2").Address Then Range("A2").Select
End Sub
--
Vicavica1949
"eliano" ha scritto:
> .
>
Grazie a te per il riscontro
Saluti
Eliano