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.!!!
Um einer TextBox in einer UserForm die gleiche Farbe wie einer Zelle in einem Excel-Arbeitsblatt zuzuweisen, kannst Du den folgenden VBA-Code verwenden:
Öffne den Visual Basic for Applications (VBA)-Editor mit ALT + F11
.
Füge eine UserForm hinzu, falls Du noch keine hast.
Füge eine TextBox zu Deiner UserForm hinzu.
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
Schließe den VBA-Editor und starte die UserForm. Die TextBox sollte nun die gleiche Hintergrundfarbe wie die Zelle in Tabelle1
(A1) haben.
Fehler: Die TextBox ändert ihre Farbe nicht.
Tabelle1
(A1) eine Hintergrundfarbe hat. Wenn die Zelle keine Farbe hat, bleibt die TextBox standardmäßig weiß.Fehler: "Tabelle1" ist nicht definiert.
Tabelle1
durch den tatsächlichen Namen des Arbeitsblatts.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.
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.
UserForm_Initialize
oder btnChange_Click
zu setzen, um ein reibungsloses Benutzererlebnis zu gewährleisten.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.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen