Meines Erachtens habe ich einen Quelltext absolut sauber, die Ausführung von Excel erfolgt jedoch willkürlich, nicht jedoch chaotisch. Stellt Euch eine Zelle vor, der ihr den Namen ZELLE_1 zuweist. Darin schreibt ihr einfach "Hallo Wlet". Dann weist Ihr eine Schriftfarbe und eine Hintergrundfarbe der Zelle zu. Nun erstellt Ihr Euch über die Steuerelement-Toolbox ein Checkbox der Ihr den Namen CB_1 gebt. Nun wollt Ihr, dass die Checkbox nach jedem Klick IMMER
1. Caption = Inhalt der zugehörigen Zelle
2. BgColor = Hintergrundfarbe der zugehörigen Zelle
3. ForeColor = Schriftfarbe der zugehörigen Zelle
Das Ganze ist eigentlich sehr einfach und sieht dann folgendermaßen aus:
Private Sub CB_1_Click()
Call tools.CBsettings(1, CB_1)
End Sub
Sub CBsettings(No As Integer, CB As Variant)
CB.ForeColor = Sheets("Main").Range("ZELLE_" & No).Font.Color
CB.BackColor = Sheets("Main").Range("ZELLE_" & No).Interior.Color
CB.Caption = Sheets("Main").Range("ZELLE_" & No)
End Sub
Die Caption wird IMMER zuverlässig übernommen, nur leider die Farben nicht.
Bsp: Zelle hat Hintergrundfarbe ROT.
Click 1 auf CB > BGColor wird GRÜN
Click 2 auf CB > BGColor wird GRÜN
Click 3 auf CB > BGColor wird ROT
Click 4 auf CB > BGColor wird GRÜN
Click 5 auf CB > BGColor wird ROT
Click 6 auf CB > BGColor wird ROT
Click 7 auf CB > BGColor wird GRÜN
Click 8 auf CB > BGColor wird ROT
Click 9 auf CB > BGColor wird GRÜN
Es ist keine Systematik zu erkennen. ABER: Wenn was falsch läuft, dann läufts IMMER GLEICH FALSCH (GRÜN). Das Gleiche gilt für ForeColor. Ihr denkt, dass es verrückter nicht mehr geht? Dann passt mal auf: Setze ich einen Breakpoint an den Anfang von CBsettings und gehe den Rest mit F8 durch, dann wurde es bisher IMMER RICHTIG umgesetzt. Ist das krank oder ist das krank?
Das Ganze geschieht nachdem ich dem Sheet eine andere Farbpalette zugewiesen habe und dem Quelltext die Zeile für ForeColor hinzugefügt habe. Zuvor wurde der Code IMMER RICHTIG ausgeführt. Ich weise doch die Farbe selbst zu und nicht einen Colorindex, also kann die ausgetauschte Farbpalette m.E. nicht das Problem sein.
Ich verstehe das alles nicht - Ihr etwa?
Gruß & Danke, t4z