Leere Zellen

Wenn man in Word viel mit Tabellen arbeitet, bzw. diese bearbeiten muss, kann es manchmal nötig sein alle leeren Zellen zu entfernen. Der Trick dabei ist, dass die leeren Tabellenzellen in Wahrheit überhaupt nicht leer sind, sondern zwei Zeichen beinhalten: Chr(13) und Chr(7). Deswegen muss man dies beim Löschen per VBA berücksichtigen. Ein Makro, das die leeren Zellen der Tabelle löscht, in der sich gerade der Cursor befindet könnte dann so aussehen:
Sub LeereZellen()
Dim oCell As Cell
Dim oRow As Row
On Error GoTo TabellenFM
For Each oRow In Selection.Tables(1).Rows
For Each oCell In oRow.Cells
If oCell.Range.Text = Chr(13) & Chr(7) Then
oCell.Delete ShiftCells:=wdDeleteCellsShiftLeft
End If
Next oCell
Next oRow
Exit Sub
TabellenFM: MsgBox ("Fehler: Der Cursor befindet sich nicht in einer Tabelle.")
End Sub
Noch mehr Beispiele gibt es bei Word MVP
Die Angabe ShiftCells:=wdDeleteCellsShiftLeft bedeutet dabei, dass die verbleibenden Zellen der Reihe nach links verschoben werden. Da dies auch die Standardeinstellung ist, kann man auf diese Angabe verzichten. Möchte man jedoch, dass sich die verbleibenden Zellen anders verhalten muss man hier Änderungen vornehmen:
wdDeleteCellsShiftUp entspricht: Zellen nach oben verschieben
wdDeleteCellsEntireRow entspricht: ganze Zeile löschen
wdDeleteCellsEntireColumn entspricht: ganze Spalte löschen
Noch ein kleiner Tipp am Rande. Wenn sich eine Tabelle in einem Worddokument ganz am Anfang (also am oberen Seitenrand befindet) und man ĂĽber der Tabelle noch etwas einfĂĽgen möchte, kann das ganz schön nervenaufreibend sein, denn der Cursor läßt sich nur in die erste Tabellenzeile setzen. Um eine leere Zeile ĂĽber der Tabelle zu erhalten muss man den Cursor in die oberste Tabellenzeile setzen und dann aus dem MenĂĽ „Tabelle” den Punkt „Tabelle teilen” wählen.
Keine Kommentare
Noch keine Kommentare
RSS Feed für Kommentare zu diesem Artikel.
Entschuldige, das Kommentarformular ist zurzeit geschlossen.

