Sheryl crea regolarmente documenti che contengono molte, molte tabelle.

Ciascuna delle tabelle è coerente in quanto hanno lo stesso layout generale. (Ciascuna contiene lo stesso numero di colonne con ogni colonna contenente lo stesso tipo di informazioni.) Sheryl sta cercando un modo per assicurarsi che le larghezze delle colonne in tutte le tabelle siano coerenti.

La soluzione dipende da quando è necessario creare le tabelle. Se il documento è nuovo, creare le tabelle in modo coerente è piuttosto semplice. Come è stato descritto in altri WordTips (e di cui non parlerò qui), puoi salvare le tue tabelle standard in una voce di glossario o creare uno stile di tabella che definisca come desideri che appaia la tua tabella. Quando necessario, inserisci semplicemente la voce di glossario o applica lo stile e la tabella appare come desideri.

La soluzione è un po ‘più complicata se il tuo documento è già stato creato e vuoi semplicemente applicare la coerenza alle tabelle che esistono all’interno del documento. In tal caso, la soluzione è utilizzare una macro per modificare le larghezze delle colonne.

È possibile creare una macro che scorrerà rapidamente ogni tabella in un documento e farà sì che ogni colonna della tabella abbia la stessa larghezza, in questo modo:

Sub SetColumnWidths1()

Dim t As Table     For Each t In ActiveDocument.Tables         t.Columns.Width = InchesToPoints(2)

Next t End Sub

Ci sono buone probabilità, tuttavia, che tu non voglia che ogni colonna sia larga 2 pollici. Probabilmente vuoi che ogni colonna abbia una larghezza specifica, diversa dalle altre colonne. La seguente iterazione della macro gestisce questa probabilità:

Sub SetColumnWidths2()

Dim t As Table     For Each t In ActiveDocument.Tables         t.Columns(1).Width = InchesToPoints(2)

t.Columns(2).Width = InchesToPoints(2.5)

t.Columns(3).Width = InchesToPoints(3)

Next t End Sub

Lo svantaggio di una tale macro è che è necessario specificare, nella codifica, la larghezza di ciascuna colonna. Inoltre, se hai una tabella anomala nel tuo documento (non ha lo stesso numero di colonne di tutte le altre tabelle), la macro cerca allegramente di impostare la larghezza delle colonne.

Un approccio migliore, quindi, potrebbe essere quello di avere una tabella “modello” nel documento e quindi impostare tutte le altre tabelle in modo che utilizzino le stesse larghezze di colonna di quella tabella. Un approccio semplice consiste nel formattare manualmente le larghezze delle colonne della prima tabella nel documento, quindi fare in modo che la macro esamini quella tabella e la utilizzi come modello per il resto delle colonne della tabella.

Sub SetColumnWidths3()

Dim t As Table     Dim c As Column     Dim ccnt As Integer     Dim w() As Single     Dim J As Integer     Dim K As Integer

Set t = ActiveDocument.Tables(1)

ccnt = t.Columns.Count     ReDim w(ccnt)

J = 0     For Each c In t.Columns         J = J + 1         w(J) = c.Width     Next c

For J = 2 To ActiveDocument.Tables.Count         Set t = ActiveDocument.Tables(J)

If t.Columns.Count = ccnt Then             For K = 1 to ccnt                 t.Columns(K).Width = w(K)

Next K         Endif     Next J End Sub

Questa macro esamina il numero di colonne nella prima tabella (assegnando il valore alla variabile ccnt) e quindi esamina la larghezza di ciascuna di quelle colonne (assegnando i valori all’array w). Quindi passa attraverso il resto delle tabelle nel documento e, se il numero di colonne nella tabella corrisponde al numero nella variabile ccnt, imposta la larghezza di ciascuna colonna sulle larghezze memorizzate nell’array w. Il risultato è che ogni tabella nel documento (beh, almeno quelle che hanno lo stesso numero di colonne della prima tabella) ha la stessa larghezza di colonna.

C’è un potenziale trucco qui: se le tabelle nel tuo documento utilizzano celle unite in qualsiasi modo, potrebbe rovinare i risultati che ottieni. In tal caso, ti consigliamo di salvare il documento prima di eseguire la macro.

In questo modo puoi controllare i risultati, visivamente, e poi tornare al documento salvato, se necessario.

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

(Microsoft Word è il software di elaborazione testi più popolare al mondo.) Questo suggerimento (11692) si applica a Microsoft Word 97, 2000, 2002 e 2003. È possibile trovare una versione di questo suggerimento per l’interfaccia della barra multifunzione di Word (Word 2007 e più tardi) qui: