Ich möchte ein Makro erstellen, um Zellen einer Tabelle automatisch zu formatieren. (In Wort 2013)Makro zum Formatieren von Zellen
Aufnahme gewünschte Aktion als Makro Ergebnisse dieser Code:
With Selection.Cells(1)
.TopPadding = CentimetersToPoints(0)
.BottomPadding = CentimetersToPoints(0)
.LeftPadding = CentimetersToPoints(0.19)
.RightPadding = CentimetersToPoints(0.19)
.WordWrap = True
.FitText = False
End With
es wieder Rennen gilt Änderungen nur auf die erste Zelle (nicht überraschend, nachdem Sie den Code suchen).
Ich habe versucht, um es angemessen Schleife zu schreiben:
For Each c in Selection.Cells
....
Next c
Aber seine Leistung ist sehr langsam, auch wenn ich von Screenupdating
wechseln.
Gibt es einen besseren Weg, es mit einem Makro zu tun?
Über wie langsam reden wir? –
In einem mittleren Dokument (150 - 200 Seiten) für eine Tabelle von 200 Zellen dauert es cc 20-40 Sekunden, das gleiche manuell zu tun ist sofort getan. –
Ändern Sie nur einige der Zellen in der Tabelle? Wenn die meisten Zellen dieselbe Auffüllung haben müssen, wäre es sinnvoll, die Zellenauffüllwerte für die gesamte Tabelle zu ändern (über Selection.Tables (1) .TopPadding usw.), dann einzelne Zellen, die sie benötigen, neu zu puffern, und wende wordwrap/fittext an alle Zellen an? Hier schien der letzte Prozess relativ schnell zu sein, aber vielleicht sind meine Testdaten zu einfach. Ansonsten war die einzige Geschwindigkeitsverbesserung, die ich machen konnte, signifikant, aber nicht massiv, erreicht, indem die gesamte Tabelle in ein neues Dokument kopiert wurde, das Layout dort modifiziert wurde und dann zurückkopiert wurde. –