Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1312to1316
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Blattformatierung mit VBA

Blattformatierung mit VBA
22.05.2013 08:12:33
Ralf
Guten Morgen Forum,
ich möchte verschiedene Tabellenblätter mit einem VBA Code formatieren. Den Code habe ich mit dem Makrorekorder aufgezeichnet. Ich möchte z. B. alle Spalten von W bis zum Ende (ZZ?) einheitlich formatieren. Ebenso möchte ich die Zeilen vereinheitlichen. Ich habe den Code dann an das Zeilen- bzw. Spaltenende händisch angepasst. der Code sieht so aus:
<pre>Sub Spaltenformatierung()
Columns("V:ZZ").Select
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Selection.ColumnWidth = 10.83
End Sub</pre>
<pre>Sub Zeilenformatierung()
Rows("35:1048576").Select
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Selection.RowHeight = 12.75
End Sub</pre>
Der Code wird in beiden Fällen mit einem Laufzeitfehler '13' Typen unverträglich abgebrochen.
Es ist wahrscheinlich ganz einfach, aber kann mir jemand helfen, den Fehler zu lösen?
Vielen Dank im Voraus für eine Rückmeldung.
Viele Grüße
Ralf

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Blattformatierung mit VBA
22.05.2013 08:23:54
Klaus
Hi,
ohne select und activate funktioniert der Code bei mir. Einen Fehler #13 kann ich nicht nachvollziehen, was sagt denn die Fehlermeldung im Text? Dein Makrorekorder-Code erwartet eine aktive Tabelle, du bist nicht zufällig in einem Chart oder einem Bild wenn du das ausführst?
Rows("35:1048576").Select
mag eine weitere Fehlerquelle sein, falls du den Code in einer xls-kompatiblen Mappe (mit weit weniger Zeilen) ausführst. Meine Code-Optimierung ermittelt dynamisch die letzte genutzte Zeile (unabhängig von der Excelversion) und sollte diesen Fehler (falls er es denn ist) eliminieren.
Sub Spaltenformatierung()
With Columns("V:ZZ")
With .Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
.ColumnWidth = 10.83
End With
End Sub
Sub Zeilenformatierung()
'letzte Zeile dynamisch
With Rows("35:" & Range("A1").SpecialCells(xlCellTypeLastCell).Row)
With .Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
.RowHeight = 12.75
End With
End Sub
Wenn du aus irgendeinem Grund tatsächlich ALLE Zeilen in der Höhe ändern musst und nicht nur die benutzen, tausche diese Zeile
With Rows("35:" & Range("A1").SpecialCells(xlCellTypeLastCell).Row)
gegen diese:
With Rows("35:" & activesheet.rows.count)
(erscheint mir aber sinnlos).
Der Makrorekorder ist dein Freund, aber nicht dein bester Freund :-) als Bettlektüre empfehle ich dir diesen unbedingt lesenswerten Link, in der die Grundsätze der Makrorekorder-Codeoptimierung einfach verdaulich beschrieben werden.
http://www.online-excel.de/excel/singsel_vba.php?f=78
(nach Lektüre hättest du o.g. Code locker selbst schreiben können!) :-)
Grüße,
Klaus M.vdT.

Anzeige
AW: Blattformatierung mit VBA
22.05.2013 09:15:25
Ralf
Hallo Klaus,
danke für die schnelle Antwort.
"(nach Lektüre hättest du o.g. Code locker selbst schreiben können!) :-)"
Na ja, wenn man keinen Zugang zu dem Thema hat, ist auch das wahrscheinlich schwierig.
Deine Lösung funktioniert.
Viele grüße
Ralf

Danke für die Rückmeldung! mit Text
22.05.2013 09:23:23
Klaus
Hallo Ralf,
Na ja, wenn man keinen Zugang zu dem Thema hat, ist auch das wahrscheinlich schwierig.
Darum habe ich dir ja den Link gegeben!
freut mich, geholfen zu haben!
Grüße,
Klaus M.vdT.

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige