Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
632to636
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
632to636
632to636
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Bedingung für alle Textboxen
08.07.2005 08:20:09
Xelleron
Guten morgen zusammen,
habe folgendes Problem.
Ich möchte die Schriftfarbe auf allen Textboxen ändern, wenn der Wert kleiner 0 ist.
Jetzt dachte ich, ich kann folgenden Code ändern, damit dies für alle Boxen gültig ist, damit ich nicht ne If...Then oder Select Case Variante anwenden muß.
Dim tb as Object
For each tb in Userform1.Controls
If Typename(tb) = "Textbox" then tb.fontcolor = RGB (255, 40, 10)
next tb
Klappt aber nicht. Kann da jmd helfen?
Gruß Dennis

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bedingung für alle Textboxen
08.07.2005 08:23:53
Xelleron
Ups,
natürlich sollte dort die Bedingung rein, wenn .value kleiner 0 then fontcolor...
Gruß Dennis
AW: Bedingung für alle Textboxen
08.07.2005 08:28:27
Heiko
Hallo Dennis,
probiere mal
If Typename(tb) = "TextBox" then tb.fontcolor = RGB (255, 40, 10)
statt
If Typename(tb) = "Textbox" then tb.fontcolor = RGB (255, 40, 10)
also das B in TextBox groß, wenn es das nicht is melde dich nochmal.
Gruß Heiko

PS: Rückmeldung wäre nett !
AW: Bedingung für alle Textboxen
08.07.2005 08:33:46
Matthias
Hallo Dannis,
genau, Heiko hat Recht. Und dann noch tb.ForeColor statt tb.FontColor... dann müsste es hinhauen.
Gruß Matthias
AW: Bedingung für alle Textboxen
08.07.2005 08:57:52
Xelleron
Hat auf jeden Fall geklappt, aber wie baue ich die Bedingung ein, daß nur die Werte Rot sind, die kleiner 0 sind.

Private Sub UserForm_Initialize()
Dim tb As Object
For Each tb In UserForm1.Controls
If TypeName(tb) = "TextBox" Then tb.ForeColor = RGB(255, 40, 10)
Next tb
End Sub

Gruß Dennis
Anzeige
Habs selbst gefunden, danke für den Ansatz
08.07.2005 09:01:02
Xelleron

Private Sub Cmb_click()
Dim tb As Object
For Each tb In UserForm1.Controls
If TypeName(tb) = "TextBox" And tb.Value < 0 Then tb.ForeColor = RGB(255, 40, 10)
Next tb
End Sub

AW: Habs selbst gefunden, danke für den Ansatz
08.07.2005 09:04:31
Matthias
Hallo Dennis,
nach dem Motto "einmal rot, immer rot" ;-)
oder wie setzt du die Werte auf schwarz zurück, wenn sie rot waren und nun größer als 0 sind?
Gruß Matthias
AW: Habs selbst gefunden, danke für den Ansatz
08.07.2005 09:11:12
Xelleron
Das ist nicht das Thema. Die Werte beim Öffnen der Mappe autom. in die TB geladen und dann kommt es darauf an, daß sie bei kleiner 0 rot angezeigt werden. Beim Aufruf werden ggf. schwarz angezeigt.
als Bsp.

Private Sub Userform1_Initialize()
box1.text = sheets("Tabelle1").cells(1,1).value
box2.text = sheets("Tabelle1").cells(1,2).value
Dim tb As Object
For Each tb In UserForm1.Controls
If TypeName(tb) = "TextBox" And tb.Value < 0 Then tb.ForeColor = RGB(255, 40, 10)
Next tb
End Sub

´
Gruß Dennis
Anzeige
AW: Habs selbst gefunden, danke für den Ansatz
08.07.2005 10:24:10
Matthias
Hi Dennis,
Achso.
Ich dachte, da es Textboxen sind und keine Labels, dass du sie für eine Veränderung freigeben und darauf reagieren willst.
Schönen Tag noch
Matthias

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige