Hallo zusammen,
meine VBA-Kenntnisse sind ja nicht so toll,
und mit einfachen Aufzeichnen komme ich nicht weiter.
Ich benötige Tag für Tag einen Ausdruck von meinem Tabellenblatt.
Also zB. für Januar2012, 31 Blätter mit dem Datum vom 1.1. bis 31.1.2012
Das Datum steht unter anderem in der Zelle I4
Mein Gedanke wäre,
in I4 ein beliebiges Startdatum und in I5 ein beliebiges Stopp-Datum einzugeben,
Wenn das Makro dann gestartet wird, sollte I4 hoch zählen und
vom Start- bis Stopp-Datum je ein Exemplar vom Tabellenblatt drucken,
so das Tag für Tag ein Ausdruck entsteht.
Wichtig wäre wohl noch,
das wenn mehr wie 31 Blätter gedruckt werden eine Warnung ausgegeben wird,
ob das wirklich so gewollt ist.
Ich hoffe ich habe mich einigermaßen verständlich ausgedrückt
Danke für eure Unterstützung
Gruß Holger
Hallo Holger,
Ich benötige Tag für Tag einen Ausdruck von meinem
Tabellenblatt.
Also zB. für Januar2012, 31 Blätter mit dem Datum vom 1.1.
bis 31.1.2012
Das Datum steht unter anderem in der Zelle I4
Ist Januar2012 der Mappenname einer Mappe mit den Blättern 01 bis 31?
Mein Gedanke wäre,
in I4 ein beliebiges Startdatum und in I5 ein beliebiges
Stopp-Datum einzugeben,
Wenn das Makro dann gestartet wird, sollte I4 hoch zählen und
vom Start- bis Stopp-Datum je ein Exemplar vom Tabellenblatt
drucken,
Irgendwas habe ich da nicht verstanden.
In I4 von Blatt 04 (4.Jan) der mappe Januar2012 steht 4.1.12,
in I5 von Blatt 04 (4.Jan) der mappe Januar2012 steht 15.1.12.
Sollen jetzt da die Blätter 04 bis 15 gedruckt werden?
GRuß
REinhard
Sorry, es ist ein und das selbe Blatt, nur das Datum ändert sich.
Gruß Holger
Sorry, es ist ein und das selbe Blatt, nur das Datum ändert
sich.
Hallo Holger,
uppsala, da war ich ja völlig auf dem falschen Dampfer 
Jetzt erst kapiere ich auch das Hochzählen.
Dein Druckbereich ist D1:E35, richtig? Und beim Ausdruck soll in D1 immer das richtige datum stehen?
Willst du nun daß das Makro die Datümer in I4 und I5 auswertet,
oder bei Makrostart kriegste ein Fenster gezeigt wo du Anfangs und Enddatum beliebig wählen kannst?
Gruß
Reinhard
Dein Druckbereich ist D1:E35, richtig?
hallo Reinhard,
Druckbereich ist B1:E35
Und beim Ausdruck soll in D1 immer das richtige datum stehen?
Ja genau für jeden Kalendertag ein Ausdruck.
Willst du nun daß das Makro die Datümer in I4 und I5 auswertet,
das war eigentlich mein Gedanke,
oder bei Makrostart kriegste ein Fenster gezeigt wo du Anfangs und Enddatum beliebig wählen kannst?
Das wäre denn die künstlerische Freiheit, soll heißen ist egal.
Ein Fenster ist auch gut, dann würden I4:I5 nicht gebraucht.
Gruß Holger
Hallo Holger,
Dein Druckbereich ist D1:E35, richtig?
Druckbereich ist B1:E35
okay, mein Schreibfehler, ich wollte das nur überprüfen, darunter auch ob A mitgedruckt wird oder nicht. Alles klar.
Ein Fenster ist auch gut, dann würden I4:I5 nicht gebraucht.
Mal ein kleiner Ansatz dazu:
http://www.uploadagent.de/show-181398-1325280572.html
Gruß
Reinhard
Mal ein kleiner Ansatz dazu
Besser, viel besser ist schön so!
Holger
Mal ein kleiner Ansatz dazu
Besser, viel besser ist schön so!
Hallo Holger,
okay.
Nachfolgend neuer Code, ersetze dadurch den Code im Modul Userform1.
Durch den neuen Code wird verhindert daß du oder ein anderer in
der Userform in den beiden Textboxen falsche Dtümer eingeben könnt/kannst.
Das erspart viel Aufwand für Überprüfungen auf sinnvolle Datümer beim Ausdrucken.
So wie ich das sehe fehlt da nur noch die Prozedur für das Ausdrucken.
Die liefere ich noch, bin grad nur sehr im Wechsel zwischen Fernseheschauen, Telefonieren und Codieren.
Mag ja sein, Frauen behaupten das, sie wären Multitasking fähig, möglich aber nicht mein wahrer Glaube, ich aber nicht 
Ich seh das so, ohne meine Ablenkung hättest du schon den Ausdrucken-Code.
Achja, bevor ich das später vergesse, im Code lege ich den Druckbereich fest.
Wenn deine Tabelle eine Art Vorlage ist so kannste die Codezeile
mit „PrintArea“ in sich ersatzlos streichen. Leg den Druckbereich manuell fest und fertig.
Hintergrund ist, alle Vba-Zugriffe auf PageSetup sind schnarchend langsam.
Bis bald
Gruß
Reinhard
Option Explicit
Private Sub CommandButton1\_Click()
Unload Me
End Sub
Private Sub CommandButton2\_Click()
MsgBox "noch baustelle"
End Sub
Private Sub SpinButton1\_SpinUp()
If DateValue(TextBox1.Text) = DateValue(TextBox2.Text) Then
TextBox1.Text = TextBox2.Text
Exit Sub
End If
TextBox1.Value = DateValue(TextBox1.Text) + 1
End Sub
Private Sub SpinButton1\_Spindown()
TextBox1.Value = DateValue(TextBox1.Text) - 1
End Sub
Private Sub SpinButton2\_SpinUp()
TextBox2.Value = DateValue(TextBox2.Text) + 1
End Sub
Private Sub SpinButton2\_Spindown()
If DateValue(TextBox2.Text) = DateValue(TextBox1.Text) Then
TextBox2.Text = TextBox1.Text
Exit Sub
End If
TextBox2.Value = DateValue(TextBox2.Text) - 1
End Sub
Private Sub UserForm\_Initialize()
TextBox1.Text = Date
TextBox2.Text = Date
TextBox1.Enabled = False
TextBox2.Enabled = False
End Sub
Hallo Reinhard, danke erst mal.
Es besteht überhaupt keine Eile damit, ich freue mich das du mir hilfst.
Im Moment habe ich ein Drehfeld mit dem ich das Datum weiter Schalte.
Das geht ja auch.
Ich muss morgen auch früh raus, daher
Wünsche ich erst mal eine gute Nacht und guten Rutsch.
In diesem Sinne an alle hier im Forum ein gesundes und glückliches 2012
Grüße Holger
In diesem Sinne an alle hier im Forum ein gesundes und
glückliches 2012
Hallo Holger,
nachstehend Code der bei mir im Nachbau deiner Tabelle funktioniert.
Teste ihn und sag Bescheid wenn du was bemängelst.
Wenn alles klappt ersetze Printpreview durch Printout.
Gruß
Reinhard
Option Explicit
Private Sub CommandButton1\_Click()
Unload Me
End Sub
Private Sub CommandButton2\_Click()
Dim N As Integer
While DateValue(TextBox1.Text) + N
1 „Gefällt mir“
So, hallo Reinhard,
ich habe vorhin schon mal kurz rein gesehen, aber keine Zeit zum antworten gehabt.
Lieben dank das du sogar auf Silvester Zeit gefunden hast zu helfen.
Der Code passt wie die sprichwörtliche „Faust aufs Auge“,
ist wirklich alles richtig, super und danke *
Eine Frage hätte ich noch:
ich habe versucht die Textfarbe in der Textbox von Grau auf schwarz zu stellen, aber irgendwie geht das nicht.
Vielleicht kannst du mir dabei noch auf die Sprünge helfen.
Wünsche noch ein glückliches und gesundes Jahr 2012
Holger
Hallo Holger,
Der Code passt wie die sprichwörtliche „Faust aufs Auge“,
ist wirklich alles richtig, super und danke *
schön daß ich dir helfen konnte. Hab mir grad den Code nochmal angesehen, paar peanuts wären noch zu verbessern, aber erstmal egal.
ich habe versucht die Textfarbe in der Textbox von Grau auf
schwarz zu stellen, aber irgendwie geht das nicht.
Vielleicht kannst du mir dabei noch auf die Sprünge helfen.
Das ist ein Problem. Im Code kannst du erkennen daß ich beim Start der UF beide Textboxen auf Enabled=False setze, also kein Zugriff darauf durch User möglich.
Das ist auch so korrekt, ansonsten müßte man ja die Eingaben des users überprüfen ob das auch a ein korrektes Datum ist und b dann auch noch ob es ein sinnvolles Datum ist usw.
Nebeneffekt von Enabled=false ist daß es dann nicht möglich ist
die Schriftfarbe zu ändern. Excel stellt den Textboxinhalt da ich schwach sichtbarem Grau oder was das ist dar.
Die Thematik ist mir also bekannt. Eine Lösung dazu noch nicht.
Aber ich habe mich auch noch nicht genauer der Thematik gewidmet.
Mal schauen…
Im Gegensatz zu dem was ich oben schrieb, nachfolgend neuer Code.
Müßte wie der alte Code funktionieren aber wirkt auf mich optisch besser 
Gruß
Reinhard
Option Explicit
Private Sub CommandButton1\_Click()
Unload Me
End Sub
Private Sub CommandButton2\_Click()
Dim N As Integer
Unload Me
While DateValue(TextBox1.Text) + N DateValue(TextBox2.Text) Then
TextBox1.Text = DateValue(TextBox1.Text) + 1
End If
End Sub
Private Sub SpinButton1\_Spindown()
TextBox1.Value = DateValue(TextBox1.Text) - 1
End Sub
Private Sub SpinButton2\_SpinUp()
TextBox2.Value = DateValue(TextBox2.Text) + 1
End Sub
Private Sub SpinButton2\_Spindown()
If DateValue(TextBox2.Text) DateValue(TextBox1.Text) Then
TextBox2.Text = DateValue(TextBox2.Text) - 1
End If
End Sub
Private Sub UserForm\_Initialize()
TextBox1.Text = Date
TextBox2.Text = Date
TextBox1.Enabled = False
TextBox2.Enabled = False
End Sub
1 „Gefällt mir“
Nebeneffekt von Enabled=false ist daß es dann nicht möglich ist
die Schriftfarbe zu ändern. Excel stellt den Textboxinhalt da ich schwach sichtbarem Grau oder was das ist dar.
Hallo Reinhard,
Enabled=false dann ist es hat so mir der Schriftfarbe.
Ich konnte mir nur keinen Reim daraus machen,
warum die Einstellungen in den Eigenschaften nicht übernommen werden.
Für mich ist die jetzige Form absolut ausreichend.
also vielen Dank noch mal
Holger
Enabled=false dann ist es hat so mir der Schriftfarbe.
Ich konnte mir nur keinen Reim daraus machen,
warum die Einstellungen in den Eigenschaften nicht übernommen
werden.
Hallo Holger,
ich habe die beiden Textboxen durch zwei Label ersetzt, dadurch stellt sich das Problem nicht.
Nachstehend der neue Code der UF.
Hier die Mappe:
http://www.uploadagent.de/show-181461-1325502720.html
Gruß
Reinhard
Option Explicit
Private Sub CommandButton1\_Click()
Unload Me
End Sub
Private Sub CommandButton2\_Click()
Dim N As Integer
Unload Me
While DateValue(Label3.Caption) + N DateValue(Label4.Caption) Then
Label3.Caption = DateValue(Label3.Caption) + 1
End If
End Sub
Private Sub SpinButton1\_Spindown()
Label3.Caption = DateValue(Label3.Caption) - 1
End Sub
Private Sub SpinButton2\_SpinUp()
Label4.Caption = DateValue(Label4.Caption) + 1
End Sub
Private Sub SpinButton2\_Spindown()
If DateValue(Label4.Caption) DateValue(Label3.Caption) Then
Label4.Caption = DateValue(Label4.Caption) - 1
End If
End Sub
Private Sub UserForm\_Initialize()
Label3.Caption = Date
Label4.Caption = Date
Label3.BackColor = vbWhite
Label4.BackColor = vbWhite
End Sub
1 „Gefällt mir“
Hallo Reinhard,
ist schön zu sehen wie es geht,
das Netz ist ja voll von gleichen Anfragen.
Auch wenn es nicht notwendig gewesen wäre,
Danke noch mal für die tolle Hilfe,
Funktioniert alles so wie gewünscht.
Schöne Grüße
Holger