VBA Excel 2000/3, Userform-Labels=bold-dynamisch

Moin!
Komisches Phänomen, in einer Userform lassen sich meine Labels nicht auf Fettschrift umstellen.
Die Labels sollen nacheinander im Sekundenabstand in Fettschrift dargestellt werden.

— So sieht mein Testcode in der Userform aus —

Private Sub UserForm_Activate()
'Application.Run „Datei_1_öffnen“
Label1.Font.Bold = True
Application.Wait Now + TimeSerial(0, 0, 1)

'Application.Run „Datei_2_öffnen“
Label2.Font.Bold = True
Application.Wait Now + TimeSerial(0, 0, 1)

'Application.Run „Datei_3_öffnen“
Label3.Font.Bold = True
Application.Wait Now + TimeSerial(0, 0, 1)

'Application.Run „Datei_4_öffnen“
Label4.Font.Bold = True
Application.Wait Now + TimeSerial(0, 0, 1)
End Sub

Da ich keine besondere Begabung habe Problembeschreibungen für alle verständlich zu formulieren habe ich eine Testdatei angehängt.
Hast Du eine Idee warum das nicht läuft bzw. wie es vielleicht laufen könnte? Darüber würde ich mich sehr freuen!
Bis dann
Frank

Testdatei
http://pfeiffer-services.com/ps/04_sonstiges/Userfor…

Hallo Frank,

Komisches Phänomen, in einer Userform lassen sich meine Labels
nicht auf Fettschrift umstellen.
Die Labels sollen nacheinander im Sekundenabstand in
Fettschrift dargestellt werden.

ich habe die UF in der Mappe getestet (XL 2000), läuft wie programmiert. K.A. warum bei dir nicht.
Was genau geschieht bei dir bzw. nicht?

Auf der Startseite deiner HP würde ich mal „unten in der Kopfzeile“
abändern in „oben in der Kopfzeile“
Und Paul heißt Watzlawi c k

Gruß
Reinhard

Hallo Reinhard,

danke für Deine Antwort!

ich habe die UF in der Mappe getestet (XL 2000), läuft wie
programmiert. K.A. warum bei dir nicht.
Was genau geschieht bei dir bzw. nicht?

Die Labels werden nicht im Sekunden-Takt, sondern mal gar nicht oder mal erst am Ende Fett dargestellt, ich werde das nochmals in XL 2002, XL 2003 und XL 2007 testen. Vielleicht liegt es am VBE 2000, der merkt sich so einiges was er nicht soll, das kann ich ändern und werde es tun.

Auf der Startseite deiner HP würde ich mal „unten in der
Kopfzeile“
abändern in „oben in der Kopfzeile“
Und Paul heißt Watzlawi c k

Super, danke für Deinen Hinweis! Du hast also mal etwas von ihm „gehört“, oder?

Ich melde mich aber nicht mehr heute, eher übermorgen, bitte bleib dran.

Viele Grüße
Frank

Hallo Reinhard,

jetzt ist mein Problem gelöst, Helmut hat mich darauf gebracht.
Wenn nach jedem „Label.Font.Bold = True“ der Befehl „Me.Repaint“ folgt, funktioniert es so wie von mir gewünscht.
Jetzt ändere ich auf meiner Heimatseite erst mal den Namen von Paul.
Danke Dir nochmals und Helmut obwohl er wohl hier wahrscheinlich nicht mit liest.

Viele Grüße
Frank

Hallo Frank,

jetzt ist mein Problem gelöst, Helmut hat mich darauf
gebracht.
Wenn nach jedem „Label.Font.Bold = True“ der Befehl
„Me.Repaint“ folgt, funktioniert es so wie von mir gewünscht.

damit ist mitnichten dein Problem gelöst, du hast einen workaround erhalten.
Dein Problem, das Problem ist ein anderes und das ist ungelöst.

Warum funktioniert dein Code in meinem XL 2000 und in deinem XL 2000 nicht?
Ich mutmaße mal sehr stark würden fünf andere hier deinen Code in Xl 2000 testen so würde er jedesmal funktionieren.

Da ist dein Problem, der Wurm dabei ist, wieso nicht bei dir.
Mittelfristig und langfristig gesehen bringt es Null mit so einem Notbehelf wie repaint zu agieren.
Das macht man dann wenn man weiß warum.

Was soll geschehen wenn etwas anderes seltsames geschieht wo repaint nix bringt? Was machste dann, nach Helmut rufen?

Gruß
Reinhard

Hallo Reinhard,

damit ist mitnichten dein Problem gelöst, du hast einen
workaround erhalten.

Ok, also eine provisorische Lösung, die die eigentliche Fehlerursache nicht behebt.

Warum funktioniert dein Code in meinem XL 2000 und in deinem
XL 2000 nicht?
Ich mutmaße mal sehr stark würden fünf andere hier deinen Code
in Xl 2000 testen so würde er jedesmal funktionieren.

Was soll mir diese Erkenntnis nutzen?

Da ist dein Problem, der Wurm dabei ist, wieso nicht bei dir.
Mittelfristig und langfristig gesehen bringt es Null mit so
einem Notbehelf wie repaint zu agieren.

Verstehe aber ich suchte doch nur danach wie es funktioniert!

Das macht man dann wenn man weiß warum.

Was macht man wenn man nicht weiß warum?

Was soll geschehen wenn etwas anderes seltsames geschieht wo
repaint nix bringt?

Nach einer anderen Lösung suchen.

nach Helmut rufen?

Warum nicht, er hat mir doch geholfen!
Offensichtlich bist Du ein VBA Experte, ich hingegen auf diesem Gebiet nur ein wenig Fortgeschrittener, Anfängerstatus gerade erst verlassen.
Ich verfolge eine sehr pragmatische Vorgehensweise, wenn ich und auch nach Befragung anderer, mein Problem nicht lösen kann, dann handele ich eben sehr Ergebnis orientiert.
Normalerweise versuche ich schon die Ursache eines Problems zu ermitteln. Wenn ich sie gefunden habe gehe ich sogar noch einen Schritt weiter als Du und analysiere mögliche Folgeprobleme nach Beseitigung der Ursache.
Was hättest Du denn an meiner Stelle getan wenn Du viele Antwortfragen und Mutmaßungen bekommen hättest aber einer dabei gewesen wäre der sagt wie es funktioniert?
"Nö, mache ich nicht, behebt nicht die Ursache und darum verzichte auf mein Vorhaben?

Nochmals danke für Deine Anregungen und bis dann
Frank

Hallo Reinhard und andere Mitleser,

meine anfangs verlinkte Testdatei werde ich demnächst vom Server nehmen und stelle hier den Code da, der zwar laut Reinhard die Ursache des Problems nicht behebt aber zu der von mir gewünschten Funktion führt.

Private Sub UserForm_Activate()
'Application.Run „Datei_1_öffnen“
Application.Wait Now + TimeSerial(0, 0, 1) 'Nur für Testzwecke
Label1 = „• Datei 1 öffnen, Datenimport OK.“
Label1.Font.Bold = True
Me.Repaint
'Application.Run „Datei_2_öffnen“
Application.Wait Now + TimeSerial(0, 0, 1) 'Nur für Testzwecke
Label2 = „• Datei 2 öffnen, Datenimport. OK“
Label2.Font.Bold = True
Me.Repaint
'Application.Run „Datei_3_öffnen“
Application.Wait Now + TimeSerial(0, 0, 1) 'Nur für Testzwecke
Label3 = „• Datei 3 öffnen, Datenimport. OK“
Label3.Font.Bold = True
Me.Repaint
'Application.Run „Datei_4_öffnen“
Application.Wait Now + TimeSerial(0, 0, 1) 'Nur für Testzwecke
Label4 = "• Datei 4 öffnen, Datenimport und " & _
„zuletzt verwendetes Dokument öffnen. OK“
Label4.Font.Bold = True
Me.Repaint
Application.Wait Now + TimeSerial(0, 0, 1) 'Nur für Testzwecke
TextBox2.Visible = False
End Sub

Mit bestem Dank an Helmut
und viele Grüße an alle!
Frank

Hallo Frank,

Ich verfolge eine sehr pragmatische Vorgehensweise, wenn ich
und auch nach Befragung anderer, mein Problem nicht lösen
kann, dann handele ich eben sehr Ergebnis orientiert.
Normalerweise versuche ich schon die Ursache eines Problems zu
ermitteln. Wenn ich sie gefunden habe gehe ich sogar noch
einen Schritt weiter als Du und analysiere mögliche
Folgeprobleme nach Beseitigung der Ursache.

verstehe ich nicht. Eine wie auch immer Problematik verursacht
daß der Code fehlerhaft läuft oder nicht.
Wenn man nun diese problematik erkannt und eliminiert hat welche Folgeprobleme soll es denn da noch geben?

Was hättest Du denn an meiner Stelle getan wenn Du viele
Antwortfragen und Mutmaßungen bekommen hättest aber einer
dabei gewesen wäre der sagt wie es funktioniert?

Beides, das funktionierende nehmen damit mein Projekt „weiter geht“, aber auch sobald Zeit dazu ist nach der Ursache des problems zu forschen. Denn die Ursache ist ja ungeklärt und „schmort“ weiter um ggfs. beim nächsten Code wieder zuzuschlagen.

Zum fehler einkreisen hätte ich erstmal wie du es indirekt gatan hast andere gebeten den Code zu testen.
Das bringt die Erkenntnis, bei anderen läuft der Code, bei mir nicht, warum?

Dann bei dir in einer neuen frischen mappe getestet.
Läuft er da so liegt es an einer maroden Mappe oder deren Einstellungen.
Läuft er auch in einer neuen Mappe nicht so ist dein XL 2000 anders als andere.

Auf die Art, mit weiteren Schritten kann man sich dem Problem schon annähern, es mehr oder minder eingrenzen.

Selbstverständlich hätte ich Null Bock mich da in die Eingeweide von Excel zu vertiefen warum jetzt da meine mappe korrupt ist.
Ich überführ den mappeninhalt in eine neue mappe und fertig.

Im andern Fall installiere ich XL 2000 neu, wenn damit das Problem weg ist so ist das auch gut, bohr ich auch nicht nach.

Usw., usw., ist eine Sache der Effiktivität und dem was unbedintt zu klären ist.
Quasi eine Entscheidungssache, die man halt schon mit Wissen treffen sollte, muß ich einem Problem auf den Grund gehen denn es könnte wieder kommen oder nehm ich einen workaround!?

Nochmals danke für Deine Anregungen

Danke daß du es so siehst, ich habe weder was gegen Helmut oder daß du seine Lösung nimmst, im Gegenteil, ist doch gut daß dir geholfen wurde.
Ich sage halt aus meiner gar nicht so großen erfahrung mit Fremd-PCs heraus, wenn du da deine „Tools“ an Kunden als xls verschickst solltest du dann doch schon genauer bei Problemen hinsehen die gar nicht sein dürften.

Übrigens, (hab ich das noch nicht gefragt? tztz --> mir)
Du schreibst:

„Vielleicht liegt es am VBE 2000, der merkt sich so einiges was er
nicht soll, das kann ich ändern und werde es tun.“

Mit VBE 2000 meinst du da die VB - E ntwicklungsumgebung von XL 2000?
Wo wird da was wie „gemerkt“ und wie/wo änderst du da was?

Es gibt schon in VBA Codebefehle wo sich Einstellungen des Erstaufrufes „gemerkt“ werden, aber die Befehle in deinem Anfangscode fallen m.W. nicht darunter.

und bis dann

Ja.

Gruß
Reinhard

Moin Reinhard!

Ich verfolge eine sehr pragmatische Vorgehensweise, wenn ich
und auch nach Befragung anderer, mein Problem nicht lösen
kann, dann handele ich eben sehr Ergebnis orientiert.
Normalerweise versuche ich schon die Ursache eines Problems zu
ermitteln. Wenn ich sie gefunden habe gehe ich sogar noch
einen Schritt weiter als Du und analysiere mögliche
Folgeprobleme nach Beseitigung der Ursache.

verstehe ich nicht. Eine wie auch immer Problematik verursacht
daß der Code fehlerhaft läuft oder nicht.
Wenn man nun diese problematik erkannt und eliminiert hat
welche Folgeprobleme soll es denn da noch geben?

Nun spricht mal der Unternehmensberater, zu einer systematischen Problemanalyse gehört auch die Betrachtung von möglichen Folgeproblemen nach der Fehleranalyse und Beseitigung der Fehlerursache.
Aber ich gebe Dir natürlich recht , in diesem Beispiel ist das nicht relevant.

Was hättest Du denn an meiner Stelle getan wenn Du viele
Antwortfragen und Mutmaßungen bekommen hättest aber einer
dabei gewesen wäre der sagt wie es funktioniert?

Beides, das funktionierende nehmen damit mein Projekt „weiter
geht“, aber auch sobald Zeit dazu ist nach der Ursache des
problems zu forschen. Denn die Ursache ist ja ungeklärt und
„schmort“ weiter um ggfs. beim nächsten Code wieder
zuzuschlagen.

Na, nun sind wir uns doch endlich einig geworden.

Dann bei dir in einer neuen frischen mappe getestet.
Läuft er da so liegt es an einer maroden Mappe oder deren
Einstellungen.

Maroden Mappen habe ich bislang nur so erlebt, das gleich beim Aufruf sich fatale Fehler einstellten.

Ich überführ den mappeninhalt in eine neue mappe und fertig.

Genau das mache ich auch und schrieb davon, dafür habe ich ein schönes Tool erworben, da geschieht das automatisch bezogen auf VBA Code Müllbereinigung inklusive Backup.
Ist von http://www.herber.de/ und nennt sich VBCleaner.

Im andern Fall installiere ich XL 2000 neu, wenn damit das
Problem weg ist so ist das auch gut, bohr ich auch nicht nach.

Hat bei mir leider noch nie geholfen, schade!

Nochmals danke für Deine Anregungen

Danke daß du es so siehst, ich habe weder was gegen Helmut
oder daß du seine Lösung nimmst, im Gegenteil, ist doch gut
daß dir geholfen wurde.

Warum sollte ich es anders sehen, man kann sich doch alles sagen ohne die Beziehungsebene zu verletzten und das hattest Du nicht getan.

Ich sage halt aus meiner gar nicht so großen erfahrung mit
Fremd-PCs heraus, wenn du da deine „Tools“ an Kunden als xls
verschickst solltest du dann doch schon genauer bei Problemen
hinsehen die gar nicht sein dürften.

Versprochen!

Übrigens, (hab ich das noch nicht gefragt? tztz --> mir)

Verstehe keine Silbe :-[

Du schreibst:

„Vielleicht liegt es am VBE 2000, der merkt sich so einiges
was er nicht soll, das kann ich ändern und werde es tun.“

Das VBA auf einer Arbeitsstation, mit dem man Makros erstellt, lernt tatsächlich die eigenen Formal Fehler zu tolerieren und meckert dann nicht mehr. Außerdem bläht es seltsamerweise die Datei um mindestens 10% auf weil er vieles mit schleppt, was nicht zur Ausführung benötigt wird.
Das behebt das oben erwähnte Tool. Die Dateigrößen werden um mindestens 10% kleiner.

Mit VBE 2000 meinst du da die VB - E ntwicklungsumgebung von XL2000?

Ja.

und bis dann

Ja.

Ja.

Tschüs und viele Grüße
Frank