Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1820to1824
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

Drucken nach Tastendruck ENTER?

Drucken nach Tastendruck ENTER?
23.03.2021 15:31:56
Simon
Hallo zusammen.
Ich habe folgende Frage - ich nutze ein Tabellenblatt zum Ausdruck von Etiketten (bitte nicht in Frage stellen, ich komme damit sehr gut klar).
Das jeweilige Etikett habe ich mir nach meinen Wünschen formatiert und lediglich drei Zellen werden vor dem Ausdruck bearbeitet. Das sind auch die einzigen Zellen, die nicht gesperrt sind, sodass ich immer schön mit der ENTER-Taste zur nächsten Zelle springen kann.
Nun zu meiner eigentlichen Frage - gibt es die Möglichkeit, dass wenn ich die dritte und somit letzte Zelle ausgefüllt habe, dass dann beim nächsten Tastendruck auf ENTER das Etikett sofort gedruckt wird? Ich möchte quasi zwischendurch nicht mit der Maus den Ausdruck auslösen müssen.
Viele Grüße und danke im Voraus,
Simon

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Drucken nach Tastendruck ENTER?
23.03.2021 15:35:00
RPP63
Moin Simon!
Strg+p ist aber auch nicht gerade weit von der Enter-Taste entfernt?
Fragt sich Ralf

AW: Drucken nach Tastendruck ENTER?
23.03.2021 16:11:21
Simon
Hallo.
Das stimmt schon, aber dafür braucht man dann schon zwei Hände :-D
Lieber wäre mir deswegen der Tastendruck auf der ENTER-Taste.

AW: Drucken nach Tastendruck ENTER?
23.03.2021 16:16:02
Simon
Hallo. Darin wird sich vermutlich meine Lösung befinden, leider bin ich noch nicht so fit bei VBA.
Könnte mir vielleicht jemand den Code nennen, dass nach Eingabe in Zelle D7 (vorher finden noch Eingaben in Zelle A1 und C3 statt) und anschließendem Betätigen der ENTER-Taste der Druck startet? Und wo genau muss ich den Code einfügen?

Anzeige
AW: Drucken nach Tastendruck ENTER?
23.03.2021 17:01:52
Dieter(Drummer)
Hallo Simon,
probiers mal so:
Diesen Code unter dem Tabellenblatt im Codebereich einfügen, in dem du die Zelle D7 ja nutzen willst.
Nach Eingabe oder Änderung in Zelle D7, wird dann der der Druck gestartet.
Code aus dem Beispiel, angepasst:
https://www.herber.de/forum/archiv/1524to1528/1527084_Drucken_nach_Eingabe_eines_Wertes_in_eine_Zelle.html
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("D7"), Target) Is Nothing Then
ActiveWindow.SelectedSheets.PrintOut
End If
End Sub

Gruß, Dieter(Drummer)

Anzeige
AW: Drucken nach Tastendruck ENTER?
23.03.2021 18:07:12
Nepumuk
Hallo Simon,
Rechtsklick auf den Tabellenreiter - Code anzeigen. In das sich öffnende Fenster folgende Prozedur einfügen.
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$D$7" Then PrintOut
End Sub

$D$7 musst du gegebenenfalls an deine letzte Eingabezelle anpassen. Die $-Zeichen vor dem Spaltenbuchstaben und der Zeilennummer müssen drin bleiben.
Gruß
Nepumuk

Anzeige
AW: Drucken nach Tastendruck ENTER?
24.03.2021 13:56:10
Simon
Hallo.
Das funktioniert toll - vielen Dank!
Gibt es noch einen einfachen Code, den man dazwischen setzen kann, welcher einen bestimmten Drucker auswählt, welcher nicht der Standard-Drucker ist?

AW: Drucken nach Tastendruck ENTER?
24.03.2021 14:47:33
Nepumuk
Hallo Simon,
teste mal:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$D$7" Then _
        If Application.Dialogs(xlDialogPrinterSetup).Show Then PrintOut
End Sub

Gruß
Nepumuk

Anzeige
AW: Drucken nach Tastendruck ENTER?
24.03.2021 20:02:31
Simon
Sorry, Nepumuk - ich meinte eigentlich, dass ich mit dieser Lösung gut klar komme:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("D7"), Target) Is Nothing Then
ActiveWindow.SelectedSheets.PrintOut
End If
End Sub
Irgendwie hab ich im Stress falsch geantwortet.
Also danke an Dieter(Drummer).
Nun habe ich aber noch ein weiteres Problem... Ich würde gerne im Zuge, dass nach Enter-Taste in "D7" gedruckt wird zusätzlich die Zellen "D7" und "D8" löschen, also den Inalt.
Ich hatte mir dazu folgenden Code zusammen gebastelt:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("D7"), Target) Is Nothing Then
ActiveWindow.SelectedSheets.PrintOut
Range("D7,G7").ClearContents
End If
End Sub
Ansich funktioniert der Code - also der Druck startet und die beiden Zellen werden inhaltlich geleert, aaaber es wird ein unzähliger Druck ausgelöst! Der Code druckt so lange, bis dass ich Excel über den Task-Manager schließe. Was genau passiert da, bzw. was kann ich dagegen tun?

Anzeige
AW: Drucken nach Tastendruck ENTER?
25.03.2021 08:25:25
Nepumuk
Hallo Simon,
durch das leeren der Zellen rufst du das Makro erneut aus. So kannst du das unterdrücken:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Range("D7"), Target) Is Nothing Then
        ActiveWindow.SelectedSheets.PrintOut
        Application.EnableEvents = False
        Range("D7,G7").ClearContents
        Application.EnableEvents = True
    End If
End Sub

Gruß
Nepumuk

Anzeige
AW: Drucken nach Tastendruck ENTER?
25.03.2021 22:54:21
Simon
Super, besten Dank!
Eine Kleinigkeit beibt leider noch. Ich würde gerne unabhängig von diesem Code gerne noch einen haben, welcher beim Öffnen der Arbeitsmappe einen vom Standarddrucker abweichenden Drucker auswählt - es soll allerdings nicht der Standarddrucker (auch nicht temporär) in Windows geändert werden (falls das mit Excel VBA überhaupt möglich ist...).
Private Sub Workbook_Open()
End Sub
Irgendwie so wahrscheinlich?
Ich habe schon jede Menge Beiträge in Foren durch, aber irgendwie gibt es da zig Lösungen, aber keine, die bei mir funktioniert hat... Das mit "NeXX" habe ich verstanden.

Anzeige
AW: Drucken nach Tastendruck ENTER?
26.03.2021 08:16:30
Nepumuk
Hallo Simon,
so:
Private Sub Workbook_Open()
    Call Application.Dialogs(xlDialogPrinterSetup).Show
End Sub

Gruß
Nepumuk

AW: Danke Simon für Rückmeldung, aber ...
25.03.2021 08:36:02
Dieter(Drummer)
... die Mitteilung von Nepumuk war schon optimal.
Der Hinweis, "D7" so zu schreiben, "$D$7" bewirkt, dass NUR für diese Zelle ein "printaout" gültig ist und für keine andere Zelle, egal ob du Zeilen verschiebst etc.
Im dem Sinne einen erfeulichen Tag.
Gruß, Dieter(DRummer)

Anzeige
AW: Danke Simon für Rückmeldung, aber ...
25.03.2021 22:55:43
Simon
Okay, verstehe.
Auf jeden Fall ein großes Dankeschön an euch!

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige