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.