Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
868to872
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
868to872
868to872
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro zum drucken

Makro zum drucken
17.05.2007 00:48:00
Hilmar
Hallo,
als Neuling hier grüße ich alle Excel-Liebhaber.
Ich habe mich hier angemeldet, weil ich mit meinen Kentnissen am Ende bin.
Kurz gesagt, ich möchte ein Makro erstellen.
Ich möchte eine Tabelle von A1 bis M1 und nach unten bis zum letzten Eintrag in der Spalte C über ein Makro drucken.
Kann mir jemand dabei helfen?
Danke schon mal im Voraus

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro zum drucken
17.05.2007 01:17:41
Kai
Hallo Hilmar,
hier sind einige noch kompetenter als ich, aber ich mach mich hier mal an die Beantwortung.
Unten stehendes Makro setzt die PrintArea auf den von Dir gesuchten Bereich und ruft dann das PrintPreview auf. Passt es die Breite so an, das alles auf einer Seite steht. Wenn du das nicht willst, kannst du die Zeilen um das FitToPageWidth löschen.
Jetzt einfach einen Button (besser keine Schaltfläche, wirklich einen CommandButton, aus der Steuerelemente-Toolbox) nehmen, doppelt drauf klicken, und das Makro dann im erscheinenden VBA-Editor einfach einfügen.
Da du den Button wohl nicht mitdrucken, in der Steuerelemente-Toolbox bei angeklicktem Button 'Eigenschaften' auswählen und PrintObject auf false setzen. TakeFocusOnClick würde ich auch af false setzen.

ActiveSheet.PageSetup.PrintArea = Range(Cells(1, 1), Cells(Range("C65536").End(xlUp).Row, 13))
With ActiveSheet.PageSetup
.FitToPagesWide = 1
End With
ActiveWindow.SelectedSheets.PrintPreview
ActiveSheet.PageSetup.PrintArea = ""

Sag kurz, ob's so ok ist, sonst wird's geändert.
Gruß,
Kai

Anzeige
AW: Makro zum drucken
17.05.2007 22:16:00
Hilmar
Hallo Kai,
danke erst einmal für Deine ultra schnelle Hilfe.
Leider macht das Makro nicht das, was ich möchte.
Es offnet die Seitenansicht und entfernt den festgelegten Druckbereich.
Fertig.
Vielleicht bin ich auch zu blöd um nach Deinen Anweisungen zu arbeiten.
Hilmar

AW: Makro zum drucken
17.05.2007 22:18:00
Hilmar
Hallo Kai,
danke erst einmal für Deine ultra schnelle Hilfe.
Leider macht das Makro nicht das, was ich möchte.
Es offnet die Seitenansicht und entfernt den festgelegten Druckbereich.
Fertig.
Vielleicht bin ich auch zu blöd um nach Deinen Anweisungen zu arbeiten.
Hilmar

Anzeige
AW: Makro zum drucken
17.05.2007 22:43:29
Kai
Hallo Hilmar,
nun, die beschriebenen Deobachtungen sind nicht ganz falsch. Drei Dinge:
1. Ist der Bereich, der in der Seitenansicht erschient, der, den du Drucken möchtest? Wenn ja, macht das Makro zumindest, was ich angedacht habe.
2. Wenn ich es recht verstehe, willst du doch den beschriebenen Bereich Drucken. Um das per Makro zumachen, habe ich mich entschieden, das PrintPreview zu öffnen. Mit dem Befehl .PrintOut statt .PrintPreview kann man es auch direkt drucken. Aber das würde ich nicht machen, ich würde vorher immer noch mal einen Blick drauf werfen und dann den Auftrag selbst an den Drucker senden. Zum einen weiß man, was dann gedruckt wird und zum anderen kann man den Drucker noch wählen.
3. Zum festgelegten Druckbereich: Wo liegt der? Möchtest du noch etwas anderes Drucken? Oder einfach einen schon vorhandenen Druckbereich nicht verlieren?
Das folgende Makro speichert deinen Druckbereich, und legt ihn dir wieder wie vorher fest, wenn das PrintPreview geschlossen wird.

Sub DruckHilmar()
Dim DeinDruckbereich As String
DeinDruckbereich = ActiveSheet.PageSetup.PrintArea
ActiveSheet.PageSetup.PrintArea = Range(Cells(1, 1), Cells(Range("C65536").End(xlUp).Row, 13) _
)
With ActiveSheet.PageSetup
.FitToPagesWide = 1
End With
ActiveWindow.SelectedSheets.PrintPreview
ActiveSheet.PageSetup.PrintArea = DeinDruckbereich
End Sub


Gruß,
Kai

Anzeige
AW: Makro zum drucken
17.05.2007 23:00:33
Hilmar
Also, ich versuche es noch einmal genauer zu erklären.
Die Seitenansicht brauche ich nicht, da es sich eigentlich immer um die gleichen tabellen handelt, die fix und fertig eingerichtet sind.
(Blatt DIN A4 Quer)
Das einzige, was sich ändert, sind die anzahl der Einträge.
Mal bis Spalte 30, mal bis Spalte 143 oder so.
Was letztendlich bedeutet, das ich mal die Seite 1:1 drucke,
oder die Seiten 1:3 drucke.
Das ganze ist eine Ergebnisliste mit Platzierung und Zeiten.
Ich möchte somit die Schritte: Datei, Drucken, Markierung drucken
über ein Makro vereinfachen.
Ich hoffe, Du verstehst meine Ausführungen.
Hilmar

Anzeige
AW: Makro zum drucken
17.05.2007 23:19:19
Kai
Hallo,
Wenn Du das ganze statisch haben möchtest (also nicht mehr bis letzte beschriebene Zelle in Spalte C?) dann kannst du das mit dem Makrorecorder automatisieren. Klick auf 'Extras', 'Makro' und 'Aufzeichnen'. Dann gibst du Namen und wenn gewünscht Tastenkombimation ein. Dann auf OK klicken. Ab dann wird aufgezeichnet, was du machst. Also einfach einmal drucken. Wenn der Druck erfolgt ist, auf den eckigen Blauen Knopf drücken und die Aufzeichnung endet. (Zwischendurch nichts anderes machen, wird alles aufgezeichnet.)
Die resultierende Aufzeichnung sieht ungefähr so aus. Nur ist hier halt mein Drucker drin und meine Zellauswahl.
Range("A1:J33").Select
Application.ActivePrinter = "hp LaserJet 3015 PCL 6 auf Ne01:"
Selection.PrintOut Copies:=1, ActivePrinter:= _
"hp LaserJet 3015 PCL 6 auf Ne01:", Collate:=True
Nach der Aufzeichnung könntest du
Range("A1:J33").Select
durch
Range(Cells(1, 1), Cells(Range("C65536").End(xlUp).Row, 13) )
ersetzen. Dann wird der Bereich bis unten hin Spalte C gedruckt.
Ich hoffe geholfen zu haben,
Gruß,
Kai

Anzeige
AW: Makro zum drucken
18.05.2007 01:18:00
Hilmar
Hallo Kai,
ich denke, jetzt ist es das richtige.
Da hat du Dir so viele Gedanken gemacht um mir zu helfen
und es war einfacher als ich eingangs beschrieben habe.
Das Makro muss einfach nur den letzten Eintrag der Spalte C suchen
und diesen Bereich drucken. Und genau das war es, was ich nicht hinbekommen habe.
Jedenfalls sage ich recht herzlichen Dank für Deine Hilfe.
Hilmar

Freut mich, wenn's geht. Danke für Rückmeldung.
18.05.2007 01:30:00
Kai
Stimmt, zwischendurch war ich mir mal nicht sicher, in welche richtung ich laufen soll. ;-))) Macht aber nix, gern geschehen.
Gruß,
Kai

Freut mich, wenn's geht. Danke für Rückmeldung.
18.05.2007 01:31:00
Kai
Stimmt, zwischendurch war ich mir mal nicht sicher, in welche richtung ich laufen soll. ;-))) Macht aber nix, gern geschehen.
Gruß,
Kai
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige