Innerhalb eines Makros eine Druckerauswahl ermöglichen?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet
Sub Druckerauswahl_und_Ausdruck()
    Application.Dialogs(xlDialogPrinterSetup).Show
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End Sub

Es wird ein kleiner Setup-Dialog gezeigt, in dem du auch den aktiven Drucker auswählen kannst. Es handelt sich aber nicht um den Windows-Druckmanager. Den kannst du meines Wissens nur über die API-Schnittstelle ansteuern, was recht aufwändig ist.

Habe über den Aufzeichner mal den Druckbefehl mit Druckerwechsel während des Makros vorgenommen. Der Code sieht dann so aus

Application.ActivePrinter = "PDFCreator auf Ne00:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= "PDFCreator auf Ne00:", Collate:=True

Wenn ich einen anderen Drucker gewählt habe stand entsprechend nach ActivePrinter der andere Drucker.

Eine Möglichkeit wäre, dass du vor dem Drucken ein Fenster (Inbox) ausgibst, "Wählen Sie einen Drucker aus: 1= pdf 2= Drucker a 3= Drucker b" Der entsprechende Wert wird dann in die Variable "Auswahl" geschrieben

Anschließend baust du eine wenn Abfrage vor den Druckauftrag ein. Also z.B. wenn Auswahl=1 Dann Application.ActivePrinter = "PDFCreator auf Ne00:" ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= "PDFCreator auf Ne00:", Collate:=True

wenn Auswahl=2 dann Application.ActivePrinter = "PDFCreator auf Ne00:" ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= "Drucker2:", Collate:=True

Makros erstellen bei Excel?

Hallo :)

Ich hab ein Problem mit dem Makro erstellen bei excel...

ich weiss wie das geht und alles, nur wird das immer an der gleichen Stelle platziert, wo es auch aufgenommen wurde...

was muss ich machen, dass ich es beliebig platzieren kann?

vielen Dank im vorraus

...zur Frage

Werte aus Tabelle mit Makro archivieren?

Hallo Zusammen, ich habe mir ein Makro aufgezeichnet, welches Werte aus einer Tabelle in ein anderes Tabellenblatt kopiert. Die Werte in der Ursprungstabelle ändere ich aber ständig und ich will, dass beim aktivieren des Makros, die zuvor kopierten Werte nicht überschrieben werden sondern neben den bereits "archivierten" Werten eingefügt wird. So sieht das Makro bis jetzt aus:

Sub test() ' test Makro Range("C5:D19").Select Selection.Copy Sheets("Tabelle1").Select Range("A2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Sheets("Tabelle2").Select Range("A7:B8").Select Application.CutCopyMode = False Selection.Copy Sheets("Tabelle1").Select Range("A18").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Sheets("Tabelle2").Select Application.CutCopyMode = False Range("C7:C19").Select Selection.ClearContents Range("C7").Select Sheets("Tabelle1").Select Range("D2").Select Sheets("Tabelle2").Select End Sub

Problem ist, dass die alten Werte in dem neuen Tabellenblatt immer überschrieben werden. Könnt Ihr mir eine Funktion nennen, damit die Werte nicht überschrieben werden, sondern bei jedem mal ausführen des Makros die Werte in eine neue Spalte kopiert werden.

Vielen Dank im Voraus. Grüße Stephan

...zur Frage

Makro erstellen zum öffnen, speichern und schließen mehrerer Excel-Dateien, wer kann mir helfen?

Hallo liebe Excel Experten, Ich benötige ein Makro zum öffnen, speichern und schließen mehrerer Excel Dateien. Da ich mich leider mit Makros und VBA nicht auskenne , bitte ich euch um Hilfe. Die Anordnung der Dateien sieht folgendermaßen aus. Ich haben einen Hauptordner, in dem befinden sich folgende Arbeitsmappen: Mappe 1 "Eingabe" hat 1 Tabellenblatt, Mappe 2 "Summen" 2 Tabellenblätter Mappe 3 "Ergebnisse" 2 Tabellenblätter. Dann befinden sich im Hauptordner noch 2 Unterordner, im Unterordner 1 befinden sich 20 Arbeitsmappen mit je 13 Tabellenblättern im Unterordner 2 befinden sich 30 Arbeitsmappen mit je 24 Tabellenblättern. Ich habe die Verknüpfungen so angelegt das in den "50" Arbeitsmappen je 1 Tabellenblatt das "Datenblatt" mit den Arbeitsmappen "Eingabe", "Ergebnisse" und "Summen" verknüpft sind. Die jeweils 12 bzw 23 Tabellenblätter der 50 Arbeitsmappen sind nur mit dem jeweiligen "Datenblatt" verknüpft. Ich habe es mir so vorgestellt: wenn ich die Arbeitsmappen "Ergebnisse" und "Summen" öffne und dann in der Arbeitsmappe "Eingabe" Daten ändere , möchte ich , nach Aufforderung "Daten aktualisieren" dass sich dann ähnlich wie beim Domino eine Arbeitsmappe nach der anderen öffnet , aktualisiert , speichert und wieder schließt. Das Makro in "Eingabe" sollte erst nach Aufforderung ablaufen, aber das Makro in den weiteren Arbeitsmappen sollte nach dem schließen automatisch die nächste öffnen. Das 2 Makro für die Arbeitsmappen könnte ich ja kopieren nehme ich an und dort dann immer nur den Pfad verändern bis ich alle 50 fertig habe.

ich bedanke mich schon im voraus für eure Hilfe

MfG Uwe

...zur Frage

Exeltabelle - Gruppierte Tabellenblätter können nicht mit fortlaufender Seitenzahl gedruckt werden - weiß jemand Rat?

Hallo.

Ich habe in meiner Exceltabelle die Seitenzahl mit &[Seite] eingegeben, die auch gedruckt wird, wenn ich die Blätter einzeln drucke. Nun möchte ich die Seiten aber fortlaufend, markiere alle Tabellenblätter (gruppieren) und drucke die "Gesamte Mappe", aber er druckt wieder die Zahlen für jedes Blatt einzeln und nicht fortlaufend, also 1, 1, 1, 2, 3, 1, 2, 1, 1 Ich möchte aber: 1, 2, 3, 4, 5, 6, 7, 8.

Dann habe ich es mit &[Seite]+1 beim zweiten Tabellenblatt versucht, weil ich kaum Zeit hatte, aber dann druckt er: 1, 11, 21, 31 usw.

Es muss ein falscher Haken gesetzt sein oder ein blöder Fehler, ne Verknüpfung, ich bin verzweifelt.... Bitte helft mir.

...zur Frage

Was möchtest Du wissen?