Clever-Excel-Forum

Normale Version: Gutschein
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallo,

ich bastel grad an einem Gutschein mit eindeutigem Gutscheincode.

2 Tabs:

1. Tab = 1 Spalte Gutscheincodes (unveränderbar)
               2 Spalte Empfänger
               3 Spalte Dauer (Zahl ohne Nachkomma)
               4 Spalte wäre ein "Druck-Button", der den Druck von Tab 2 auslöst

2. Tab = Gutschein auf dem die letzte Nummer angezeigt werden soll, bei der noch kein Eintrag für Empfänger ist.

Dazu habe ich mir Zufallszahlen generieren lassen und die Werte in Tab 1 kopiert.

Fragen:

1. Wie bekomme ich es hin, dass mir auf dem Gutschein (Tab 2) die letzte "aktive" Nummer angezeigt wird?

2. wie sieht der VBA-Code aus, der den aktuellen (mit der letzten "aktiven" Nummer) Gutschein (Tab 2) ausdruckt?
Hallo,

lade mal deine Mappe hoch.

In der zeig dann auf, was warum passieren soll.

Gruß Werner
...

das funzt leider nicht
Code:
Private Sub CommandButton1_Click()
Sheets("Tabelle1").Range ("a1:i54")
Application.Dialogs(xlDialogPrint).Show
End Sub
probiers mal damit. der druck wird direkt mit dem standart drucker im excel ausgeführt. 

Code:
If ActiveCell.Column = 1 Then
Tabelle2.Range("A52").NumberFormat = "0"
Tabelle2.Range("A52") = ActiveCell
Tabelle2.Range("a1:i54").PrintOut
End If
Hallöchen,

das
Sheets("Tabelle1").Range ("a1:i54")
funktioniert nicht, weil Du einfach nur einen Bereich angibst und nix damit machst. So was wäre eine funktionierende Codezeile:

Sheets("Tabelle1").Range("a1:i54").Select

oder

Set MeinBereich = Sheets("Tabelle1").Range("a1:i54")

oder z.B. das mit PrintOut von Ralf oder ...
Hi,

sorry, für die späte Antwort... hatte die letzten Tage leider viel zu tun :(

Hab das Script von Ralf probiert... ist perfekt.. naja.. eigentlich perfekt, muss aber einen anderen Drucker ansteuern
und u.U. ein anderes Papierfach wählen :(

Kann man das mit den Druckdialog hinbekommen?

Ich hab das versucht.. aber verstehe anscheinend den Aufbau von VBA's nicht :(

Code:
If ActiveCell.Column = 1 Then
Tabelle2.Range("A52").NumberFormat = "0"
Tabelle2.Range("A52") = ActiveCell
Tabelle2.Range("a1:i54") = Application.Dialogs(xlDialogPrint).Show
End If


Damit zeigt er mir zwar den Dialog, druckt aber zig Seiten  :22: :16:

Alles andere passt  :05:

Achtung.. jetzt werd ich übermütig.. kann man die ausgedruckte Zufallszahl (Spalte A) nach dem Druck einfärben? Angel
Hallöchen,

Zur Druckerauswahl reicht

Application.Dialogs(xlDialogPrint).Show

Lege z.B. vorher diesen Bereich

Tabelle2.Range("a1:i54")

als Druckbereich fest. Nutze dazu mal unsere Suchfunktion, Stichwort Druckbereich.
Hi,

die Aufforderung für den Print-Dialog hatte ich schonmal gefunden, brachte mir aber nix, da dann alle Seiten gedruckt werden.

Die Frage ist jetzt, wie kann ich Ralf's Script so anpassen, dass statt sofort loszudrucken (es wurde auch nur die richtige Seite gedruckt :19: ) der Druck-Dialog auftaucht?

Ich probiere hier schon hin und her... aber entweder Fehlermeldungen oder Excel druckt direkt die richtige Seite und öffnet danach den Dialog.  :22:
Hallöchen,

Zitat:die Aufforderung für den Print-Dialog hatte ich schonmal gefunden, brachte mir aber nix, da dann alle Seiten gedruckt werden.

Du kannst doch im Dialog einstellen, dass z.B. nur Seite 1 gedruckt werden soll ...
Ja, das ist schon richtig, aber es soll im Dialog ja nur der Drucker und ggf. das Druckfach gewählt werden.. die Seite steht ja fest und ist immer
gleich, einzig die Zufallszahl ist anders.

Je mehr ich manuell machen muss, desto weniger lohnt sich ja, einen solchen Aufbau zu erstellen :(

Wenn ich das richtig verstanden habe, löst "PrintOut" den Druck aus... kann man das nicht einfach gegen den Befehl für den Druckdialog tauschen?

Der Rest ist ja perfekt...

So wie ich es versuche, funktioniert es ja nicht, aber VBA ist für mich echt ne Fremdsprache...
Seiten: 1 2 3