Sheryl erstellt routinemäßig Dokumente mit vielen, vielen Tabellen.

Jede der Tabellen ist insofern konsistent, als sie das gleiche allgemeine Layout haben. (Jede Spalte enthält die gleiche Anzahl von Spalten, wobei jede Spalte dieselbe Art von Informationen enthält.) Sheryl sucht nach einer Möglichkeit, um sicherzustellen, dass die Breite der Spalten in allen Tabellen konsistent ist.

Die Lösung hängt davon ab, wann Sie die Tabellen erstellen müssen. Wenn es sich bei dem Dokument um ein neues Dokument handelt, ist es ziemlich einfach, die Tabellen auf konsistente Weise zu erstellen. Wie in anderen WordTips beschrieben (und auf die ich hier nicht näher eingehen werde), können Sie Ihre Standardtabellen als Bausteineinträge speichern oder einen Tabellenstil erstellen, der definiert, wie Ihre Tabelle angezeigt werden soll. Bei Bedarf fügen Sie einfach den Building Block-Eintrag ein oder wenden den Stil an, und die Tabelle wird wie gewünscht angezeigt.

Die Lösung ist etwas komplizierter, wenn Ihr Dokument bereits erstellt wurde und Sie einfach Konsistenz auf die im Dokument vorhandenen Tabellen anwenden möchten. In diesem Fall besteht die Lösung darin, die Breite der Spalten mithilfe eines Makros zu ändern.

Es ist möglich, ein Makro zu erstellen, das schnell durch jede Tabelle in einem Dokument geht und jede Spalte in der Tabelle auf dieselbe Weise auf die gleiche Breite bringt:

Sub SetColumnWidths1()

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

Next t End Sub

Die Chancen stehen jedoch gut, dass Sie nicht möchten, dass jede Spalte 2 Zoll breit ist. Sie möchten wahrscheinlich, dass jede Spalte eine bestimmte Breite hat, die sich von den anderen Spalten unterscheidet. Die folgende Iteration des Makros behandelt diese Wahrscheinlichkeit:

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

Der Nachteil eines solchen Makros besteht darin, dass Sie in der Codierung die Breite jeder Spalte angeben müssen. Wenn Ihr Dokument eine anomale Tabelle enthält (diese hat nicht die gleiche Anzahl von Spalten wie alle anderen Tabellen), versucht das Makro munter, die Breite der Spalten festzulegen.

Ein besserer Ansatz könnte daher sein, eine „Modell“ -Tabelle in Ihrem Dokument zu haben und dann alle anderen Tabellen so festzulegen, dass sie die gleichen Spaltenbreiten wie diese Tabelle verwenden. Ein einfacher Ansatz besteht darin, die Spaltenbreiten der ersten Tabelle im Dokument manuell zu formatieren, das Makro diese Tabelle untersuchen zu lassen und sie als Muster für die übrigen Tabellenspalten zu verwenden.

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

Dieses Makro untersucht die Anzahl der Spalten in der ersten Tabelle (Zuweisen des Werts zur Variablen ccnt) und untersucht dann die Breite jeder dieser Spalten (Zuweisen der Werte zum Array w). Anschließend werden die restlichen Tabellen im Dokument durchlaufen. Wenn die Anzahl der Spalten in der Tabelle mit der Anzahl in der Variablen ccnt übereinstimmt, wird die Breite jeder Spalte auf die im Array w gespeicherten Breiten festgelegt. Das Ergebnis ist, dass jede Tabelle im Dokument (zumindest diejenigen, die die gleiche Anzahl von Spalten wie die erste Tabelle haben) die gleichen Spaltenbreiten hat.

Hier gibt es ein mögliches Problem: Wenn die Tabellen in Ihrem Dokument in irgendeiner Weise zusammengeführte Zellen verwenden, kann dies die erzielten Ergebnisse durcheinander bringen. In diesem Fall möchten Sie Ihr Dokument speichern, bevor Sie das Makro ausführen.

Auf diese Weise können Sie die Ergebnisse visuell überprüfen und gegebenenfalls zum gespeicherten Dokument zurückkehren.

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der WordTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

WordTips ist Ihre Quelle für kostengünstige Microsoft Word-Schulungen.

(Microsoft Word ist die weltweit beliebteste Textverarbeitungssoftware.) Dieser Tipp (11693) gilt für Microsoft Word 2007, 2010, 2013, 2016, 2019 und Word in Office 365. Eine Version dieses Tipps finden Sie für ältere Menüoberfläche von Word hier: