Anzeige
Archiv - Navigation
1032to1036
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
Inhaltsverzeichnis

TextBox einfärben

TextBox einfärben
14.12.2008 19:37:00
Frank
Hallo Zusammen und noch 'nen schönen dritten Advent!!!
In einer UF lasse ich TextBoxen mit Inhalten einer Tabelle füllen! Die TextBox kann ich auch einfärben, wenn der Inhalt mit einem in der Tabelle befindlichen Wert übereinstimmt.
Zum Bsp. so :
If Me.TextBox1 = tblAugust.Cells(15, 14).Text Then
TextBox1.ForeColor = RGB(0, 0, 0)
TextBox1.BackColor = RGB(256, 256, 0)
TextBox1.Font.Bold = True
End If
Nun möchte ich aber wenn der Inhalt der TextBox mit den Inhalten der Zellen AA6:AA17 übereinstimmt eine bestimmte Farbe annimmt! Der Wert in AA6 unterscheidet sich vom Wert in AA7 usw.
Wie könnte ich das hinbekommen? Ich danke für eure Ratschläge und verbleibe mit den besten Grüßen zur Weihnachtszeit!!!
Frank H.

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: TextBox einfärben
14.12.2008 19:40:00
Hajo_Zi
Hallo Frank,
prüfe als erstes ob der Wert der in der Textbox steht 12x in dem Bereich steht.
CountIf

AW: TextBox einfärben
14.12.2008 19:59:19
Frank
Hallo Hajo!
Bin hilflos! Kannst du mir die erste Zeile schreiben, die ich dann zwölf mal vervielfältigen kann!!!!
Besten Dank!!!
Gruß Frank H.
AW: TextBox einfärben
14.12.2008 20:07:17
Hajo_Zi
Hallo Frank,
MsgBox Application.WorksheetFunction.CountIf(Range("AA6:AA17"), TextBox1) = 12
Gruß Hajo
AW: TextBox einfärben
14.12.2008 22:10:12
Frank
Hallo Hajo noch einmal!!!
Ich muss noch einmal nerven! Das du ein ganz Großer bist, ist mir ja inzwischen schon aufgefallen, aber ich brauche da noch eine ganze Weile, so dass ich auch mit der Code Zeile leider nicht weiter gekommen bin!!! kannst du dies alles für mich als Laien verständlich schreiben, das wäre echt nett!!! Danke schon im Vorraus!!!
Gruß Frank H.
Anzeige
AW: TextBox einfärben
14.12.2008 22:19:48
Original
Hi,
"...Das du ein ganz Großer bist, ist mir ja inzwischen schon aufgefallen..."
Der ist gut, selten so gelacht.
mfg Kurt
AW: TextBox einfärben
14.12.2008 22:24:39
Hajo_Zi
Hallo Frank,
mir scheint Oroginal Kurt möchte Dir nicht helfen und sein Beitrag hat Dich bestimmt auch nicht weiter gebracht.
ersetze Msgbox durch if am Ende noch then und dann Dein Code zum färben der Textbox
Gruß Hajo
AW: TextBox einfärben
14.12.2008 22:44:00
Frank
Noch einmal Hallo!
Bei mir funzt es nicht!!!
Gruß Frank H.!!!
AW: TextBox einfärben
14.12.2008 22:54:00
Original
Hi,
die niederschmetternde Kritik von HojaZi hat mich tief getroffen, nun muss ich versuchen,
dir zu helfen.
Was genau steht denn in den enstprechenden Zellen?
Ich hab das Problem nicht erkannt.
mfg Kurt
Anzeige
AW: TextBox einfärben
14.12.2008 23:08:00
Frank
Hallo Kurt!!!
Danke für dein Interesse!!! In den Zellen stehen Datumsangaben, wie z.B. 01.01.2009 oder 25.12.2009, diese Werte werden per Formel erzeugt.
In meiner UF wird z.B. die TextBox1 gelb eingefärbt, wenn in Zelle N15 das heutige Datum steht und mit dem Inhalt der TextBox1 identisch ist. Nun soll wenn ein in den Zellen AA6:AA17 befindliches Datum identisch mit dem Wert in TextBox1 ist, die TextBox rot eingefärbt werden.
Nun du!!! Und DANKE!!!
Gruß Frank H.
AW: TextBox einfärben
14.12.2008 23:26:24
Original
Hi,
verstehe ich das richtig, in AA6:AA17 stehen überall Daten(Datümer)?
Soll sich die Textbox bei der ersten Übereinstimmung färben, oder wie ist das gedacht?
mfg Kurt
Anzeige
So dürfte das funktionieren, ...
15.12.2008 00:27:00
Luc:-?
...Frank:

Private Sub UserForm_Click()
Dim i As Integer, ...
TextBox1.ForeColor = RGB(0, 0, 0)
TextBox1.BackColor = RGB(255, 255, 255)
TextBox1.Font.Bold = True
For i = 1 To 12
If CDate(Me.TextBox1) = Cells(i + 14, 14) Then
If CDate(Me.TextBox1) = Date Then
TextBox1.ForeColor = RGB(0, 0, 0)
TextBox1.BackColor = RGB(255, 255, 0)
Else
TextBox1.ForeColor = RGB(255, 255, 255)
TextBox1.BackColor = RGB(255, 0, 0)
End If
Exit For
End If
Next i
End Sub


Wenn das UF-Textfeld zwar das Tagesdatum enthält, dieses aber weder in N15 noch einer der Folgezellen auftaucht, bleibt das Textfeld weiß.
Was Hajo da mit 12x meinte, abgesehen davon, dass auch ich zuerst ein Select Case mit 12...13 Fällen (cases, aber nicht 12 Textfelder konstruieren wollte, wird wohl sein Geheimnis bleiben... ;-)
Nichts für ungut, Kurt...
Gruß Luc :-?
Wahre Größe liegt in der Qualität, nicht unbedingt in der Quantität...
Besser informiert sein!

Anzeige
AW: So dürfte das funktionieren, ...
15.12.2008 08:57:00
Frank
Guten Morgen Luc!!!
Auf den ersten Blick, der ersten Testung scheint dein Code ausbaufähig! Nur funktioniert er im Moment noch nicht!!! Wenn ich in in Zelle N15 das gleiche Datum schreibe, welches auch nach Aufruf der UF in der TextBox1 steht wird die TextBox rot, steht aber in Zelle N15 =HEUTE(), dann passiert nichts, obwohl in Zelle AA6 der selbe Wert wie in der TextBox1 steht. Wo könnte ein Fehler sein?
Danke und m.f.G.
Frank H.
AW: TextBox einfärben
14.12.2008 23:59:00
Tino
Hallo,
habe auch eine Frage, wie kommt dass Datum in die TextBox1, Handeingabe oder durch ein Code?
Für Handeingabe, teste mal diesen Code
Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Dim varWert

With TextBox1
  If IsDate(.Value) And Len(.Value) - Len(Replace(.Value, ".", "")) = 2 Then
     
        varWert = Application.Match(CDbl(CDate(.Value)), Range("AA6:AA17"), 0)
        
        If Range("N15") = CDate(.Value) Then
          .BackColor = &HFFFF& 'gelb 
        Else
            
            If IsNumeric(varWert) Then
             .BackColor = &HFF& 'rot 
            Else
             .BackColor = &H80000005 'Standart 
            End If
        
        End If
     
  End If
    
End With
End Sub


Gruß Tino

Anzeige
AW: TextBox einfärben
15.12.2008 08:37:45
Frank
Hallo Tino!!!
Durch Code!
Me.TextBox1 = tblMai.Cells(6, 1).Text
Ich hoffe das reicht dir und zunächst erst einmal Danke!!!
Gruß Frank H.
AW: TextBox einfärben
15.12.2008 09:15:38
Tino
Hallo,
erstelle in Deiner Userform diese Prozedur
Sub DatumTextBox()
Dim varWert

With TextBox1
  If IsDate(.Value) And Len(.Value) - Len(Replace(.Value, ".", "")) = 2 Then
     
        varWert = Application.Match(CDbl(CDate(.Value)), Range("AA6:AA17"), 0)
        
        If Range("N15") = CDate(.Value) Then
          .BackColor = &HFFFF& 'gelb 
        Else
            
            If IsNumeric(varWert) Then
             .BackColor = &HFF& 'rot 
            Else
             .BackColor = &H80000005 'Standart 
            End If
        
        End If
     
  End If
    
End With

End Sub


Rufe diese mit
Call DatumTextBox
nach dem der Eintrag in die Textbox erfolgt ist.
Also
Me.TextBox1 = tblMai.Cells(6, 1).Text
Call DatumTextBox
Gruß Tino

Anzeige
AW: TextBox einfärben
15.12.2008 18:07:27
Frank
Hallo alle Zusammen!!!
Erst einmal an alle fleißigen Helfer mein Dank!!! Hab vielleicht nicht alles gleich kapiert, dennoch bin ich jetzt wieder ein Stück weiter und das ist ja auch Sinn und Zweck für mich!!!
Mein besonderer Dank gilt allerdings Tino, der Code funzt wie gewünscht!!!
Allen frohe Festtage und 'nen guten Rutsch!!!
Bis zum nächsten Mal sage ich Tschüss und Gruß
Frank H.
AW: TextBox einfärben
15.12.2008 00:06:00
Mustafa
Hallo Frank,
ich glaube Hajo meint das so :
If Application.WorksheetFunction.CountIf(Range("AA6:AA17"), TextBox1) = 1
TextBox1.ForeColor = RGB(0, 0, 0)
TextBox1.BackColor = RGB(256, 256, 0)
TextBox1.Font.Bold = True
End If
Rückmeldung wäre nett.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige