Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
644to648
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
644to648
644to648
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Label (Caption) vor dem Drucken aktualisieren

Label (Caption) vor dem Drucken aktualisieren
30.07.2005 10:58:02
Michael
Hallo
Mein Problem:
In einem Tabellenblatt sind 4 Labels. Innerhalb eines VBA-Routine holt
sich das Makro von einem anderem Tabellenblatt Namen und setzt diese als .Caption-Werte in die 4 Labels - dann soll das Blatt ausgedruckt werden.
Seit ich jetzt Excel 2003 installiert habe, funktioniert es so nicht mehr.
Die Labels werden vor dem Ausdrucken nicht aktualisiert.
Hier im Forum habe ich gelesen, dass bei USERFORMS ein "Repaint" abhilfe schafft. Nur wie lautet das Objekt für die Labels IM Tabellenblatt?
Hier der dazugehörige Code Ausschnitt:
while...
' In Form setzen
Sheets("Zeit").LName.Caption = nname ' Namen setzen
Sheets("Zeit").LVName.Caption = vname ' Vornamen setzen
Sheets("Zeit").LGeb.Caption = "" ' Geburtsdatum setzen

' Blatt drucken
Sheets("zeit").PrintOut
...wend
Wie löse ich mein Problem?
Gruss
Michael

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Label (Caption) vor dem Drucken aktualisieren
30.07.2005 11:05:12
Ralf
Hi Michael,
setze die Anweisungen in das BeforePrint-Ereignis des Workbooks.
Ciao, Ralf
AW: Label (Caption) vor dem Drucken aktualisieren
30.07.2005 11:55:38
Michael
Hi
Danke für deine Antwort.
Habe es ausprobiert. Aber auch im BeforePrint Ereignis aktualisiert er die Label nicht (habe die Routine um die Label zu benennen ins Ereignis gesetzt).
Habe ich dich falsch verstanden?
Wenn ich innerhalb des BeforePrint Ereignisses mir eine Message-Box mit den Variablen Inhalten und den Caption Inhalten anzeigen lasse ist es korrekt --> nur er zeigt im Ausdruck immer noch nur einen Namen an (meist (!!) den 1.).
Bsp:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
' In Form setzen --> holt sich die schon gesetzten Namen nochmals
nname = Sheets("f").LNName.Caption
vname = Sheets("f").LVName.Caption
Sheets("f").LNName.Caption = nname ' setzt diese im BeforePrint Ereignis ins Label
Sheets("f").LVName.Caption = vname
MsgBox "Nachname: " & Sheets("F").LNName.Caption & "   Public: " & nname 'KORREKT
End Sub
' Jetzt PRINT --> NUR ein Name
Wie krieg ich es hin, dass der Drucker die aktuellen Label-Daten bekommt, bzw. das System mit diesen arbeitet (da auch im PrintPreview nur der eine name zu sehen ist)?
"Ich steh auf dem Schlauch..." :-)
Gruss
Michael
Anzeige
AW: Label (Caption) vor dem Drucken aktualisieren
30.07.2005 13:44:34
Ralf
Hallo Michael,
so wie es aussieht, ersetzt Du die neuen Beschriftungen durch die alten. Ich weis jetzt wirklich nicht was Du genau vorhast. vname ist und bleibt die Beschriftung. Vielleicht solltest Du stattdessen mal:
Sheets("f").LVName.Caption = "Max"
versuchen. Oder Sheets("f").LVName.Caption = range("B23")
oder sowas in der Art?¿? Ansonsten, wie gesagt, keine Ahnung...
Ciao, Ralf
AW: Label (Caption) vor dem Drucken aktualisieren
30.07.2005 14:05:57
Michael
Hi Ralf
Ich weiss der Code Schnipsel sieht komisch aus. Dass kommt vom ausprobieren. Aber es sind schon die geänderten Namen die ich aus Verzweiflung im BeforePrint NOCHMALS sozusagen bestätige (um vielleicht dadurch eine Aktualisierung auszulösen).
Die Messagebox zeigt mir immer wunderbar, wie gewünscht den geänderten Namen (Bestätigt als Variable [nname] und als caption [LNName.caption]). Nur er druckt die alten Caption Infos - irgendwie aktualisert Windows (oder Excel) die Label nicht (da der Fehler auch im Vorschau Modus auftritt, denke ich nicht dass es am Drucker Spooler liegt).
Ich danke dir auf jedenfall um deine bisherigen Inputs - bin offen für jeden Tipp :-)
In anderen Forumsbeiträgen wird ein ähnliches Problem genannt. Wenn ein Label innerhalb einer USERFORM definiert ist. Dort genügt z.B. dann Userform1.LNName.Repaint, um den Inhalt auf den neuesten Stand zu bringen, vor dem Drucken. Leider weiss ich nicht wie ich ein Label, das innerhalb eines Tabellenblattes definiert ist, "Repainte". Probier gerade mit dem Shape Objekt rum, krieg aber nur Fehlermeldungen bei Anwendung von ".Repaint".
Es grüsst, weiterhin nicht verzagend *g*
Michael
Anzeige
AW: Label (Caption) vor dem Drucken aktualisieren
30.07.2005 15:39:50
GraFri
Hallo
Versuche mal
DoEvents
nach Änderung der Label.Caption?
mfg, GraFri
AW: Label (Caption) vor dem Drucken aktualisieren
30.07.2005 15:55:27
Michael
Hi GraFri
Hat leider keinen Effekt gezeigt. Habs mit "DoEvents" im BeforPrint Ereignis probiert und auch im Modul der aufrufenden Print-Routine.
Trotzdem hab ich mein Problem umschiffen können:
Anstatt ein Label im Tabellenblatt zu nützen, nehme ich jetzt für den Vor- und Nachnamen
ein Wordart-Object, dessen '.Text' Eigenschaft ich pro jeweiligen Namen anpasse. Dass nimmt er dann erstaunlicherweise in "Echtzeit" entgegen und druckt auch immer den aktuell gesetzten Namen.
Wie gesagt es funktioniert jetzt ausreichend gut für mich (auch wenn ichs am Arbeitsrechner noch nicht probiert habe :-) ; bin aber dennoch nicht zufrieden, da die naheliegendere Lösung mittels einem Label-Objekt, so überhaupt nicht nachvollziehbar für mich, versagt.
Vielen Dank Ralfi und GraFri für Eure Tipps und Anregungen.
Gruss
Michael
Anzeige
AW: Label (Caption) vor dem Drucken aktualisieren
30.07.2005 18:10:09
Josef
Hallo Michael!
Probier's mal so!

With Sheets("Zeit")
    .LName.Caption = nname ' Namen setzen
    .LVName.Caption = vname ' Vornamen setzen
    .LGeb.Caption = "" ' Geburtsdatum setzen
    .Calculate
    .PrintOut
End With

Gruß Sepp
P.S.: Rückmeldung nicht vergessen!


Anzeige
AW: Label (Caption) vor dem Drucken aktualisieren
30.07.2005 19:15:52
Michael
Hi Sepp
Calculate hab ich schon an allen möglichen und unmöglichen Stellen probiert. Hat bis jetzt leider nicht funktioniert.
Gruss
Michael
AW: Label (Caption) vor dem Drucken aktualisieren
30.07.2005 19:23:12
Leo
Hi,
With Sheets("Zeit")
.LName.Caption = nname ' Namen setzen
.LVName.Caption = vname ' Vornamen setzen
.LGeb.Caption = "" ' Geburtsdatum setzen
DoEvents
Application.screenupdating = true
.PrintOut
End With
mfg Leo
AW: Label (Caption) vor dem Drucken aktualisieren
30.07.2005 19:35:09
Michael
Hallo Leo
Dein Vorschlag bewirkt leider auch keine Veränderung zum Besseren.
hab ihn exakt übernommen (inklusive des eleganten with Blocks).
Gruss
Michael
Anzeige
AW: Label (Caption) vor dem Drucken aktualisieren
30.07.2005 19:44:19
Leo
Hi,
dann fällt mir nichts mehr ein.
mfg Leo

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige