Hallo Leute,
ich habe ein Worddokument mit ca. 1.500 Tabellen! In JEDER muss die letzte Spalte gelöscht werden. Ich kenne mich mit Makros in keinster Weise aus, habe es aber geschafft, eines aufzuzeichnen, so dass ich jetzt nur noch jede Tabelle markieren muss und mit einem Mausklick die letzte Spalte löschen kann.
Allerdings muss ich das ja immer noch für 1.500 Tabellen einzeln machen. Kann man das Makro so gestalten, dass es den Befehl automatisch für ALLE Tabellen ausführt?
Thx & MfG...
[Edit] Hier der Code dazu:
Code
Sub Makro1()
'
' Makro1 Makro
'
'
Selection.SelectColumn
Selection.MoveRight Unit:=wdCharacter, Count:=1
Selection.MoveLeft Unit:=wdCharacter, Count:=2
Selection.MoveUp Unit:=wdLine, Count:=2
Selection.MoveDown Unit:=wdLine, Count:=1
Selection.SelectColumn
Selection.Columns.Delete
With Selection.Tables(1)
.TopPadding = CentimetersToPoints(0)
.BottomPadding = CentimetersToPoints(0)
.LeftPadding = CentimetersToPoints(0.16)
.RightPadding = CentimetersToPoints(0.16)
.Spacing = 0
.AllowPageBreaks = True
.AllowAutoFit = True
End With
Selection.Tables(1).Rows.HeightRule = wdRowHeightAuto
Selection.Tables(1).Rows.Height = CentimetersToPoints(0)
Selection.Range.Cells(1).PreferredWidthType = wdPreferredWidthAuto
Selection.Range.Cells(1).PreferredWidth = 0
Selection.Tables(1).Columns(1).PreferredWidthType = wdPreferredWidthAuto
Selection.Tables(1).Columns(1).PreferredWidth = 0
With Selection.Tables(1)
.TopPadding = CentimetersToPoints(0)
.BottomPadding = CentimetersToPoints(0)
.LeftPadding = CentimetersToPoints(0.16)
.RightPadding = CentimetersToPoints(0.16)
.Spacing = 0
.AllowPageBreaks = True
.AllowAutoFit = True
End With
End Sub
Alles anzeigen
Das Makro formatiert die Tabelle noch ein bissel, da ist also nicht nur das mit dem Spalte löschen drin. Allerdings bekomme ich auch jedes mal einen "Laufzeitfehler 5662" beim Ausführen des Makros. Dennoch funktioniert es aber.