Controllo dell’ordine di entrata su celle non protette (Microsoft Excel)
Rob ha una serie di fogli di lavoro che vengono utilizzati per valutare le valutazioni. Il primo foglio di lavoro ha celle per nome, data, ecc., Quindi diverse colonne per inserire le risposte a scelta multipla. Il foglio è protetto, quindi è possibile modificare solo le celle di input. Quando l’utente termina l’ultima cella in una colonna, lo stato attivo passerà alla cella successiva non protetta, che potrebbe essere la prima cella nella colonna successiva o potrebbe essere la cella “data”. Rob si chiede come può controllare il focus in modo che quando il valore viene inserito nell’ultima cella (in basso) di una colonna, si sposterà quindi su una cella che ha specificato.
Non esiste un modo integrato per farlo in Excel, poiché il programma determina il proprio ordine di scelta della cella successiva selezionata. È possibile modificare la cella selezionata successivamente quando si preme Invio in un foglio di lavoro, ma non è possibile modificare ciò che accade quando si preme Tab in un foglio di lavoro protetto.
Per impostazione predefinita, le celle vengono selezionate da sinistra a destra e quindi dall’alto verso il basso nel foglio di lavoro.
Se vuoi modificare ciò che accade quando viene premuto il tasto Tab, dovrai ricorrere all’uso di una macro per controllare l’ordine di selezione.
La seguente macro è un esempio; si sposta nella cella D5 quando si lascia la cella C10 e in E5 quando si lascia la cella D10:
Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Target.Address = "$C$10" Then Range("D5").Select If Target.Address = "$D$10" Then Range("E5").Select Application.EnableEvents = True End Sub
Il problema con l’utilizzo di una soluzione VBA come questa è che può rendere il foglio di calcolo, in particolare se di grandi dimensioni, un po ‘più lento. Per loro natura, le macro significano anche che la funzione Annulla è disabilitata.
Se le tue esigenze di ordine di tabulazione sono più complesse, allora potresti essere interessato al codice discusso in questa pagina web:
http://www.ozgrid.com/forum/showthread.php?t=82272
Come puoi vedere, il codice a volte può diventare piuttosto complesso. Ovviamente, un tale approccio, poiché stabilisce tutti i movimenti da cella a cella, rende più difficile apportare modifiche al design del foglio di lavoro stesso.
_Nota: _
Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.
ExcelTips è la tua fonte di formazione economica su Microsoft Excel.
Questo suggerimento (10313) si applica a Microsoft Excel 97, 2000, 2002 e 2003.
Puoi trovare una versione di questo suggerimento per l’interfaccia a barra multifunzione di Excel (Excel 2007 e versioni successive) qui: