Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
676to680
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
676to680
676to680
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Layout mit VBA steuern

Layout mit VBA steuern
04.10.2005 10:49:01
joko0803
Hallo alle zusammen,
ich habe hier ein Problem mit der Steuerung des Layouts für alle Arbeitsblätter einer Arbeitsmappe.
Ich habe ein Makro, das in einer Makro-Arbeitsmappe abgelegt ist. Das Seitenlyout wir auch ganz toll erstellt, so lange die Tabellen in der gelichen Arbeitsmappe hinterlegt sind.
Immer wenn das Makro aber Blätter einer anderen Arbeitsmappe formatieren soll wir die Formatierung NUR IM ERSTEN BLATT ausgeführt.
Kann mir von euch jemand einen Tipp geben wie ich das beheben kann, denn die Regel ist, dass das Makro Layout einer anderen Arbeitsmappe steuern soll?
Danke und Gruß
John

Private Sub Layout()
For blatt = 1 To Sheets.Count - 1
Sheets(blatt).Select False
Next blatt
With ActiveSheet.PageSetup
.LeftMargin = Application.InchesToPoints(0.17)
.RightMargin = Application.InchesToPoints(0.17)
.TopMargin = Application.InchesToPoints(0.7)
.BottomMargin = Application.InchesToPoints(0.44)
.HeaderMargin = Application.InchesToPoints(0.5)
.FooterMargin = Application.InchesToPoints(0.17)
.CenterFooter = "&8Seite &P von &N"
.CenterHorizontally = True
.Orientation = xlLandscape
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Zoom = 65
End With
Cells(5, 1).Select
ActiveWindow.DisplayGridlines = False
Sheets(Sheets.Count).Select
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Layout mit VBA steuern
04.10.2005 11:10:11
Dan
Hallo, versuch es mit diesem Code. Gruss dan, cz
Option Explicit

Private Sub Layout()
Dim blatt
For blatt = 1 To Sheets.Count
Sheets(blatt).Select True
With ActiveSheet.PageSetup
.LeftMargin = Application.InchesToPoints(0.17)
.RightMargin = Application.InchesToPoints(0.17)
.TopMargin = Application.InchesToPoints(0.7)
.BottomMargin = Application.InchesToPoints(0.44)
.HeaderMargin = Application.InchesToPoints(0.5)
.FooterMargin = Application.InchesToPoints(0.17)
.CenterFooter = "&8Seite &P von &N"
.CenterHorizontally = True
.Orientation = xlLandscape
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Zoom = 65
End With
Cells(5, 1).Select
ActiveWindow.DisplayGridlines = False
Next blatt
End Sub

Anzeige
AW: Layout mit VBA steuern
04.10.2005 11:25:06
joko0803
Hallo Dan,
danke für die schnelle Antwort. Diese Möglichkeit habe ich absichlicht nicht gewählt,
weil die Datei ca. 60 bis 110 Tabellenblätter enthält.
Damit wird das VBA unglaublich langsam. Laufzeit ca. 4 bis 7 Minuten.
Darum suche ich auch eine elegante Ersatzlösung.
Gruß
John
AW: Layout mit VBA steuern
04.10.2005 13:24:05
Dan
Also dann so :
Option Explicit

Private Sub Layout()
Dim blatt
Application.ScreenUpdating = False
For Each blatt In Worksheets
With blatt.PageSetup
.LeftMargin = Application.InchesToPoints(0.17)
.RightMargin = Application.InchesToPoints(0.17)
.TopMargin = Application.InchesToPoints(0.7)
.BottomMargin = Application.InchesToPoints(0.44)
.HeaderMargin = Application.InchesToPoints(0.5)
.FooterMargin = Application.InchesToPoints(0.17)
.CenterFooter = "&8Seite &P von &N"
.CenterHorizontally = True
.Orientation = xlLandscape
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Zoom = 65
End With
Cells(5, 1).Select
ActiveWindow.DisplayGridlines = False
Next blatt
Worksheets(Worksheets.Count).Select
Application.ScreenUpdating = True
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige