Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
492to496
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
492to496
492to496
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Seiten einrichten

Seiten einrichten
04.10.2004 18:48:55
Volker
Hallo allerseits,
wer kann mir bitte helfen?
Ich möchte alle Seiten einer Mappe auf einen Schlag als Querformat einrichten,
anpassen und die Seitenränder einstellen.
wenn ich den Vorgang aufzeichne, kommt folgendes heraus:
Sheets(Array("#111", "#112", "#113", "#114")). _
Select
Sheets("111").Activate
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.393700787401575)
.RightMargin = Application.InchesToPoints(0.393700787401575)
.TopMargin = Application.InchesToPoints(0.590551181102362)
.BottomMargin = Application.InchesToPoints(0.590551181102362)
.HeaderMargin = Application.InchesToPoints(0)
.FooterMargin = Application.InchesToPoints(0)
.PrintHeadings = False
.PrintGridlines = True
.PrintComments = xlPrintNoComments
.PrintQuality = 600
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
.PrintErrors = xlPrintErrorsDisplayed
End With
wenn ich den Code in ein Makro einbinde, wird nur das 1. Blatt eingerichtet.
Hat ev. jemand eine Ahnung, warum?
Falls sich jemand wundert, warum ich für 4 Blätter so einen Aufwand treibe:
Ich möchte Mappen mit einer viel größeren und unterschiedlichen Zahl von Blättern bearbeiten, aber die 1.Zeile wäre hier zu unübersichtlich geworden.
Später müsste die 1. Zeile durch eh durch

- sheets.select _
ersetzt werden, kann ich aber nicht ausprobieren, weil der code ja so nich funktioniert ?!
Vielen Dank im Voraus für die zahlreichen ;-) Lösungsvorschläge
Gruß
Volker

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Seiten einrichten
Ulf
"With ActiveSheet.PageSetup"
Sagt uns schon, dass nur das aktive Blatt behandelt wird, aktiv kann immer nur ein Blatt sein!
Ulf
AW: Seiten einrichten
04.10.2004 19:06:09
Volker
Hallo Ulf,
das ist mir eigentlich auch klar.
Das ist aber das Ergebnis der Aufzeichnung mit dem Rekorder und es sind alle Blätter eingerichtet, deswegen steh ich ja im Wald.
Wenn ich die entsprechende Zeile rauswerfe, geht das "With activesheet.pagesetup" nicht mehr und "With selection.pagesetup" kennt der Compiler nicht.
Gruß
Volker
probier mal so
Jörg
Hallo Volker,
bin keine VBA Kanone, aber ich hätte es so probiert

Sub test()
Dim Tabelle As Worksheet
For Each Tabelle In ThisWorkbook.Sheets
Tabelle.Activate
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.393700787401575)
.RightMargin = Application.InchesToPoints(0.393700787401575)
.TopMargin = Application.InchesToPoints(0.590551181102362)
.BottomMargin = Application.InchesToPoints(0.590551181102362)
.HeaderMargin = Application.InchesToPoints(0)
.FooterMargin = Application.InchesToPoints(0)
.PrintHeadings = False
.PrintGridlines = True
.PrintComments = xlPrintNoComments
.PrintQuality = 600
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
.PrintErrors = xlPrintErrorsDisplayed
End With
Next Tabelle
End Sub

Wobei mir die Zeile .PrintErrors = xlPrintErrorsDisplayed bei XL2000 einen Fehler auswirft Variable nicht definiert.
Gruss Jörg
Anzeige
Danke, aber....
04.10.2004 19:25:16
Volker
Hallo Jörg,
im Prinzip ok, eine Schleife als Rückfalllösung ist tatsächlich schon eingeplant.
Hier geht es haupsächlich um die Geschwindigkeit.
Bei meinem Tool werden ein Haufen Txt-files aufbereitet und in eine gemeinsame Mappe kopiert. Das Seiteneinrichten erledige ich jeweils direkt nach dem Kopieren.
Das gesamte Makro ist recht umfangreich, aber die paar Zeilen dauern genauso lang wie der ganze Rest. Darum hab ich gehofft, das auf einen Schlag zu erledigen.
Es muß einen Grund geben geben, warum die Aufzeichnung geht, das Makro aber nicht.
Gruß
Volker
AW: Danke, aber....
Piet
...weil das Makro nur das aktive Blatt behandelt, Excel dagegen das gesamte Array.
Piet
Anzeige
AW: Seiten einrichten
Ulf
Beispiel für drei Blätter:
Sub Drei_Blätter()
Application.ScreenUpdating = False
For b = 1 To 3
With Sheets(b).PageSetup
.LeftFooter = "&P&N"
'weitere Formate....
.Zoom = 100
.PrintErrors = xlPrintErrorsDisplayed
End With
Next
Application.ScreenUpdating = False
End Sub

Ulf
an alle Helfer
04.10.2004 19:33:12
Volker
... und an Ulf,
danke für den promten Service.
Eine Schleife hatte ich auch schon im Sinn aber...
, schau mal bei der Antwort von Jörg rein.
Vielleicht hat einer von euch ja noch einen genialen Einfall.
Ich will nicht undankbar erscheinen, aber ich sitz hier noch auf der Arbeit und wahrscheilich wirft mich der Werkschutz gleich raus. Darum muß ich jetzt leider Schluß machen.
Wär schön, morgen wieder von Euch zu hören.
Gruß
Volker
Anzeige
Alles klar oT
Ulf
o

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige