Makro erweitern? geht das?
19.03.2009 23:59:29
nino
Wenn ich neue Rechnung schreibe und ausdrucke wird die Gesamtsumme überschrieben und die will ich dazu addieren. Geht das? Was muss ich noch dazu schreiben?
Makro;
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim wksAktiv As Worksheet, wksTag As Worksheet, Auswahl As Long
Select Case LCase(ActiveSheet.Name)
Case "tägliche umsatz", "rechnung", "tabelle2"
'diese Blätter werden normal gedruckt, _
Liste ggf. anpassen/ergänzen - Blattnamen dabei nur in Kleinbuchstaben
Case Else
'Drucken Rechnungsblätter
Set wksAktiv = ActiveSheet
Auswahl = MsgBox(Prompt:="Rechnung drucken und Ergebnis in Tagesübersicht eintragen?" _
& vbLf & vbLf _
& "Bei 'Nein' wird nur das Blatt gedruckt bzw. die Seitenvorschau angezeigt!", _
Buttons:=vbYesNoCancel, Title:="Rechnung Drucken")
If Auswahl = vbYes Then
'Drucken mit Übertragen des Wertes von I26 nach A2
Set wksTag = Worksheets("Tägliche Umsatz")
If IsEmpty(wksTag.Range("A2")) Then
wksTag.Range("A2") = wksAktiv.Range("I26")
Else
If MsgBox(Prompt:="Zelle A2 in Blatt """ & wksTag.Name & """ ist nicht leer!" & vbLf _
& vbLf & "Wert " & wksAktiv.Range("I26") & " in Rechnung zum aktuellen Wert " _
& wksTag.Range("A2") & " in Zelle A2 addieren?" & vbLf & vbLf _
& "Bei 'Nein' wird der Wert in A2 überschrieben!", Buttons:=vbYesNo, _
Title:="Rechnung Drucken") = vbYes Then
wksTag.Range("A2") = wksTag.Range("A2") + wksAktiv.Range("I26")
Else
wksTag.Range("A2") = wksAktiv.Range("I26")
End If
End If
ElseIf Auswahl = vbNo Then
'Blatt wird gedruck bzw. Seitenvorschau angezeigt ohne den Wert in Zelle I26 in _
die Tagesübersicht zu übertragen
ElseIf Auswahl = vbCancel Then
'Druck wird abgebrochen
Cancel = True
End If
End Select
End Sub