Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1400to1404
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

Hilfe! Variable als Hyperlink zum drucken einer Qu

Hilfe! Variable als Hyperlink zum drucken einer Qu
18.01.2015 16:17:34
Mikos

Werte VBA-Kenner
Bin verzweifelt!
Die bestehende Excel-Tabelle wird mit Kundendaten via Userform versorgt und in verschiedene Worksheets (Berlin, Basel, Barcelona, Brisbane) reingeschrieben. Daneben habe ich (im selben Excel-File) ein Worksheet "Quittung" kreiert. Das Ziel ist es, dass nach der letzten Zelle auf der Zeile für jeden Kunden ein Link erscheint, wo wenn ich draufklicke, die Daten (Name, Vorname, Dienstleistungsart und Kosten) in das Worksheet "Quittung" kopiert und gedruckt werden.
Wünschenswert wäre auch ein Button, mittels welchem sämtliche Kundenquittungen auf einen Schlag gedruckt werden können.
Bin Euch für jede Hilfe dankbar!
Beste Sonntagsgrüsse
Mihael

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hilfe! Variable als Hyperlink zum drucken einer Qu
18.01.2015 19:49:22
fcs
Hallo Michael,
das mit den Hyperlinks wird nichts oder unnötig kompliziert.
Der einfachere Weg ist den Druckvorgang für eine Quittung zu starten per Maus-Doppelklick oder Rechte-Maustaste-Klick in eine Zelle in einer bestimmten Spalte der jeweiligen Zeile.
Nachfolgen entsprechende Makros, die du bezüglich Zelladressen und Spaltennummer sowie ggf. Blattnamen anpassen musst.
Gruß
Franz
'Code unter "DieseArbeitsmappe" der Datei
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, _
Cancel As Boolean)
'Ereignismakro, den Doppelklick in eine Zelle in allen Tabellenblätter der Arbeitsmappe  _
auswertet
Dim Zeile As Long
Dim wksQuittung As Worksheet
Set wksQuittung = ActiveWorkbook.Worksheets("Quittung")
Select Case Sh.Name
Case wksQuittung.Name, "Tabelle XYZ"
'in diesen Tabellenblätter keine Aktion bei Doppelklick
'weitere Blattnamen ggf. Anpassen/Ergänzen
Case Else
Select Case Target.Row
Case Is >= 1 'Nummer der Zeile ab der Kundendaten stehen
Select Case Target.Column
Case 5 '5 = Splate E - Spalte in der Doppelklick in eine Zelle die  _
Quittung druckt, ggf. anpassen
Zeile = Target.Row
Cancel = True
If MsgBox("Quittung für Kunde in Zeile " & Zeile & " drucken?" _
& vbLf & vbLf & "Drucker: " & Application.ActivePrinter, _
vbQuestion + vbOKCancel, "Quittung drucken") = vbOK Then
Call prcDruckenQuittung(wks:=Sh, lngZeile:=Zeile)
End If
Case Else
'do nothing
End Select
Case Else
'do nothing
End Select
End Select
End Sub
'Code in einem allgemeinen Modul der Datei

Public Sub prcDruckenQuittung(wks As Worksheet, ByVal lngZeile As Long)
'Quittung mit Daten aus Blatt / Zeile drucken
Dim wksQuittung As Worksheet
Set wksQuittung = ActiveWorkbook.Worksheets("Quittung")
With wksQuittung
'Werte aus Zeile im Blatt in Quittung eintragen Zelladressen/Spaltennummern anpassen !!! _
.Range("B4").Value = wks.Cells(lngZeile, 1).Text 'Name
.Range("C4").Value = wks.Cells(lngZeile, 2).Text 'Vorname
.Range("C6").Value = wks.Cells(lngZeile, 3).Text 'Dienstleistungsart
.Range("C8").Value = wks.Cells(lngZeile, 4).Value 'Kosten
.PrintOut
End With
End Sub
'Alle Quittungen drucken
Public Sub Alle_Quittungen_drucken()
Dim Zeile As Long
Dim wksKunde As Worksheet
If MsgBox("Jetzt die Quittungen für alle Kunden in allen Kunden-Tabellen drucken?" _
& vbLf & vbLf & "Drucker: " & Application.ActivePrinter, _
vbQuestion + vbOKCancel, "Quittungen drucken") = vbCancel Then Exit Sub
For Each wksKunde In ActiveWorkbook.Worksheets
Select Case wksKunde.Name
Case "Quittung", "Tabelle XYZ"
'Diesen Tabellenblätter enhalten keine Kundendaten
'weitere Blattnamen ggf. Anpassen/Ergänzen
Case Else
With wksKunde
'Startzeile der Schleife ggf. anpassen
For Zeile = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row
Call prcDruckenQuittung(wks:=wksKunde, lngZeile:=Zeile)
Next
End With
End Select
Next
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige