I clienti di Dori Lynn utilizzano Word per creare moduli semplici. Una delle cose che fanno abbastanza spesso è usare le tabelle per facilitare lo spostamento nel modulo.

Dori Lynn si chiede se c’è un modo per passare dall’ultima cella (campo) di una tabella alla prima cella della successiva. In questo momento, se si tabula alla fine della tabella, viene creata una nuova riga.

La pressione del tasto Tab quando il punto di inserimento si trova in una cella della tabella sposta normalmente la selezione alla cella successiva della tabella. Nell’ultima cella della tabella, il tasto Tab aggiunge una nuova riga di celle in fondo alla tabella e sposta il punto di inserimento nella prima cella della nuova riga. Questo ovviamente non è il comportamento che Dori Lynn sta cercando.

Ci sono un paio di approcci che puoi usare per questo problema. Uno è ricordare che puoi usare il browser degli oggetti per spostarti da una tabella a quella successiva. Ciò, ovviamente, significa che non puoi usare il tasto Tab per spostarti da un tavolo all’altro, ma puoi fare clic sul pulsante Browser degli oggetti (nell’angolo in basso a destra dello schermo, fare clic sulla piccola “pallina” tra il doppio e frecce in basso, quindi scegliere Sfoglia per tabella dalle opzioni) per trovare quelle tabelle.

Se desideri effettivamente utilizzare il tasto Tab, dovrai creare una macro. Premendo il tasto Tab quando il punto di inserimento si trova all’interno di una tabella, Word esegue un comando denominato nextcell, che a sua volta esegue il comando MoveRight. È possibile scrivere un comando nextcell personalizzato che costringa Word a fare ciò che Dori Lynn vuole.

Come modificare i comandi di Word esistenti è trattato in altri Suggerimenti_di_parole. La routine della cella successiva personalizzata, di seguito, intercetta il tasto Tab e sposta la selezione alla cella successiva a meno che la cella corrente non sia l’ultima cella della tabella. In caso affermativo, passa alla tabella successiva nel documento. Se non sono presenti ulteriori tabelle nel documento, il punto di inserimento rimane nell’ultima cella di quest’ultima tabella.

Sub nextcell()

Dim oCell As Cell

With Selection         Set oCell = .Cells(1).Next         If oCell Is Nothing Then             .Move unit:=wdTable, Count:=1         Else             .MoveRight Unit:=wdCell         End If     End With End Sub

La subroutine funzionerà correttamente con le tabelle che hanno celle unite verticalmente e orizzontalmente. Elaborerà le tabelle all’interno delle tabelle, ma si fermerà all’ultima cella della tabella interna.

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti WordTips), ho preparato una pagina speciale che include informazioni utili.

WordTips è la tua fonte di formazione economica su Microsoft Word.

(Microsoft Word è il software di elaborazione testi più popolare al mondo.) Questo suggerimento (5673) si applica a Microsoft Word 2007, 2010 e 2013.