Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature currently requires accessing the site using the built-in Safari browser.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
Diskutiere Druck-Makro für Excel im Microsoft Office Suite Forum im Bereich Office-Produkte; Hallo, also:
ich bräuchte mal bitte Hilfe für ein Makro für Excel 2003. :-\
Ich habe in einem Tabellenblatt ein Register, das mit Daten aus...
#1
D
DerJesus
Guest
Hallo, also:
ich bräuchte mal bitte Hilfe für ein Makro für Excel 2003. :-\
Ich habe in einem Tabellenblatt ein Register, das mit Daten aus einem anderen Blatt gefüllt wird.
Jenachdem welche Zahl ich im Feld X5 eingebe (1,2,3...) zieht sich das Register die Daten
per SVERWEIS aus dem anderen Blatt. (1-> alle Daten für 1, 2-> alle Daten für 2,...).
Nun möchte ich gerne ein Makro programmieren, welches mir alle vorhandenen Daten automatisch
ausdruckt. (Klick -> Daten für 1 werden gedruckt, Daten für 2 werden gedruckt,... usw.)
Selbstverständlich sollte das Makro automatisch aufhören, wenn keine Daten mehr da sind.
Wer weiß Rat?
#2
M
Matjes
Bekanntes Mitglied
Dabei seit
22.08.2001
Beiträge
2.308
Reaktionspunkte
0
Hallo DerJesus,
wenn ich das richtig verstehe soll das Makro in X5 die Zahlen 1 - 9999 nacheinander eingeben, dann abwarten, bis die Calculation die Daten ins Blatt gestellt hat. Die Daten soll es dann überprüfen, ob Daten im Blatt stehen. Abhängig davon soll es die Daten ausdrucken oder sich beenden.
So richtig verstanden ?
Wenn ja, wie kann das Makro erkennen, dass Daten angezeigt werden oder nicht ?
(Eine Bestimmte Zelle hat dann welchen Inhalt oder eben nicht oder Fehler ?)
Wie ist der Blattname des Blattes mit X5 ?
Gruß Matjes
#3
M
Matjes
Bekanntes Mitglied
Dabei seit
22.08.2001
Beiträge
2.308
Reaktionspunkte
0
Hallo DerJesus,
das Makro könnte folgendermassen aussehen:
Code:
Option Explicit
Sub PrintMitX5Von1Bis9999()
->> > > A N P A S S E N < < <
Const cBLATTNAME = Ansicht ->Blattname des Blattes
Const cZELLE_X5 = X5 ->Zelle in der der lfd. Wert cX5_VON bis cX5_BIS eingesetzt wird
Const cZELLE_PRUEFENAME = B3->Hier wird derName ausgegeben oder Fehler #NV
Const cDRUCKBEREICH = A2:D3 ->Bereich der jeweils ausgedruckt werden soll
->> > > A N P A S S E N E N D E < < <
Const cX5_VON = 1
Const cX5_BIS = 99999
Dim ws As Worksheet
Dim x As Long
On Error Resume Next
Set ws = ActiveWorkbook.Worksheets(cBLATTNAME)
On Error GoTo 0
->Prüfen, ob das richtige Blatt aktiv ist
If ws Is Nothing Then
MsgBox _
Es ist nicht das richtige Blatt in der aktiven Mappe vorhanden. & vbLf & _
Blattname SOLL: & cBLATTNAME
GoTo AUFRAEUMEN
End If
For x = cX5_VON To cX5_BIS
Range(cZELLE_X5).Value = x
If IsError(Range(cZELLE_PRUEFENAME)) Then
MsgBox Laufende Nummer & cZELLE_X5 & = & x & nicht vorhanden: Exit For
Else
Range(cDRUCKBEREICH).PrintOut
->Range(cDRUCKBEREICH).Printpreview->zu Testzwecken
End If
Next
AUFRAEUMEN:
Set ws = Nothing
End Sub
Die Konstanten mußt du entsprechend anpassen.
Zu Testzwecken kannst du mit Seitenansicht statt drucken arbeiten. Die entsprechende Zeile ist als Kommentar enthalten(PrintPreview). Diese Zeile ist dann einzukommentieren und die zeile mit PrintOut auszukommentieren. Beim Test dann auch cX5_BIS auf einen kleineren Wert setzen, z.B. 5 .
Gruß Matjes
#4
D
DerJeus
Guest
Hui. Danke Matjes. Damit kann ich was anfangen. Vielen Dank!