Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: TextBox gleiche Farbe wie Zelle

TextBox gleiche Farbe wie Zelle
Frank
Hallo Zusammen, allen einen schönen Abend noch!
Ist es möglich das ich einer TextBox, welche sich auf einer Uf befindet, die gleiche Farbe einer im Tabellenblatt befindlichen Zelle zuzuweisen? Wenn ja, wie müsste der Code lauten? Danke im Vorraus!!!
Gruß Frank H.!!!
Anzeige
AW: TextBox gleiche Farbe wie Zelle
20.07.2010 20:56:18
Gerd
UserForm1.TextBox1.BackColor= Tabelle1.Cells(1, 1).Interior.Color
Hallo Frank!
Wegen immer noch hoher Raumtemparatur am Laptop nicht getestet. :-)
Gruß Gerd
AW: TextBox gleiche Farbe wie Zelle
20.07.2010 20:59:34
Ramses
Hallo
Funktioniert,... und ich habe das immer sooooo kompliziert gemacht :-)
Gruss Rainer
AW: TextBox gleiche Farbe wie Zelle
20.07.2010 20:56:56
Ramses
Hallo
Private Sub btnChange_Click()
    'auf Grundlage eines Codes von Nepumuk
    Dim Rot As Long, Grün As Long, Blau As Long, Wert As Long
    Dim i As Integer
    Wert = Range("A1").Interior.Color
    On Error Resume Next
    Rot = Wert Mod 256
    Wert = (Wert - Rot) / 256
    Grün = Wert Mod 256
    Wert = (Wert - Grün) / 256
    Blau = Wert Mod 256
    Me.TextBox1.BackColor = RGB(Rot, Grün, Blau)
End Sub

Zellbezug musst du halt anpassen
Gruss Rainer
Anzeige
AW: TextBox gleiche Farbe wie Zelle
20.07.2010 20:56:57
wsp
Hallo Frank ,
vesuch mal :
Textbox.BackColor = Zelle.Interior.Color
Textbox.ForeColor = Zelle.Font.Color
Gruss Wolfgang
AW: TextBox gleiche Farbe wie Zelle
20.07.2010 22:29:45
Frank
Hallo euch Allen!!!
Vielen lieben Dank!!! Funzt Super!!!
Ich habe mich für Gerd seinen Vorschlag entschieden!!!
Danke nochmals und Gute Nacht sagt Frank H.!!!
Anzeige
Das ist NICHT richtig,...
21.07.2010 08:44:35
Luc:-?
…Wolfgang (sp),
.BackColor entspricht nicht .InteriorColor, sondern .ForeColor, .Font.Color bleibt .Font.Color, aber als Eigenschaft von .TextFrame{.Characters}. .BackColor wird als Hintergrund bei Transparenz benötigt.
Gruß Luc :-?
Anzeige
AW: Das ist NICHT richtig,...
21.07.2010 10:56:25
JogyB
Hallo Luc,
wenn das alles falsch ist, wieso funktioniert es dann einwandfrei? Sieht man ja auch schon im VBE, bei BackColor ändert sich die Hintergrundfarbe der TextBox, bei ForeColor die Textfarbe.
Gruß, Jogy
Naja, dann war's mal wieder die...
22.07.2010 17:06:23
Luc:-?
…MS-typische Namens- und Eigenschaftenverwirrnis zwischen Steuerelementen und normalen Zeichnungsobjekten. Transparenz gibt's bei ersteren wohl nicht. Mach das mal mit normalen Textfeldern, Jogy, dann merkst du den Unterschied!
Gruß Luc :-?
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

TextBox die gleiche Farbe wie Zelle zuweisen


Schritt-für-Schritt-Anleitung

Um einer TextBox in einer UserForm die gleiche Farbe wie einer Zelle in einem Excel-Arbeitsblatt zuzuweisen, kannst Du den folgenden VBA-Code verwenden:

  1. Öffne den Visual Basic for Applications (VBA)-Editor mit ALT + F11.

  2. Füge eine UserForm hinzu, falls Du noch keine hast.

  3. Füge eine TextBox zu Deiner UserForm hinzu.

  4. Kopiere und füge den folgenden Code in das Code-Modul Deiner UserForm ein:

    Private Sub UserForm_Initialize()
       Me.TextBox1.BackColor = Tabelle1.Cells(1, 1).Interior.Color
    End Sub
  5. Schließe den VBA-Editor und starte die UserForm. Die TextBox sollte nun die gleiche Hintergrundfarbe wie die Zelle in Tabelle1 (A1) haben.


Häufige Fehler und Lösungen

  • Fehler: Die TextBox ändert ihre Farbe nicht.

    • Lösung: Stelle sicher, dass die Zelle in Tabelle1 (A1) eine Hintergrundfarbe hat. Wenn die Zelle keine Farbe hat, bleibt die TextBox standardmäßig weiß.
  • Fehler: "Tabelle1" ist nicht definiert.

    • Lösung: Überprüfe den Namen des Arbeitsblatts in Deinem Excel-Dokument. Ersetze Tabelle1 durch den tatsächlichen Namen des Arbeitsblatts.

Alternative Methoden

Eine alternative Methode, um die Farbe der TextBox zu ändern, besteht darin, die RGB-Werte der Zelle zu extrahieren. Hier ist der VBA-Code dafür:

Private Sub btnChange_Click()
    Dim Wert As Long
    Wert = Range("A1").Interior.Color
    Me.TextBox1.BackColor = RGB(Red(Wert), Green(Wert), Blue(Wert))
End Sub

Stelle sicher, dass Du die Red, Green, und Blue Funktionen definiert hast, um die RGB-Werte korrekt zu extrahieren.


Praktische Beispiele

Wenn Du mehrere TextBoxes hast und jede TextBox eine andere Zellenfarbe annehmen soll, kannst Du den folgenden Code verwenden:

Private Sub UserForm_Initialize()
    Me.TextBox1.BackColor = Tabelle1.Cells(1, 1).Interior.Color
    Me.TextBox2.BackColor = Tabelle1.Cells(2, 1).Interior.Color
End Sub

Das Beispiel zeigt, wie Du die Hintergrundfarbe von zwei TextBoxes basierend auf zwei verschiedenen Zellen festlegen kannst.


Tipps für Profis

  • Du kannst die Methoden zur Farbzuweisung auch dynamisch gestalten, indem Du die Zelle über ein Eingabefeld auswählst. So machst Du Deine Anwendung flexibler.
  • Achte darauf, die Farbänderungen in einer geeigneten Event-Prozedur wie UserForm_Initialize oder btnChange_Click zu setzen, um ein reibungsloses Benutzererlebnis zu gewährleisten.

FAQ: Häufige Fragen

1. Frage
Wie kann ich die Textfarbe der TextBox ändern?
Antwort
Du kannst die Textfarbe der TextBox mit folgendem Code ändern: Me.TextBox1.ForeColor = Tabelle1.Cells(1, 1).Font.Color.

2. Frage
Funktioniert das auch in Excel 365?
Antwort
Ja, der Code funktioniert in Excel 365 sowie in anderen Versionen, die VBA unterstützen. Achte darauf, dass Du den VBA-Editor korrekt verwendest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige