Typkonvertierungsfunktion - Farbwertzuweisung
#1
Hallo Leute,

ich habe ein Problem mit der Farbzuweisung bei Label-Objekten, bzw. einen Typenkonflikt.

Folgender Codeausschnitt:

Dim i%, objLabel As MSForms.Label, Farbe, Name
Name = Split("10,20,30,40,50,60,70,80,90", ",")
Farbe = Split("vbRed,vbWhite,vbGreen,vbyellow,vbBlue", ",")
Set objLabel = Ufk.Controls.Add("Forms.Label.1", "Label" &  Name(i), True)

For i = LBound(Name) To UBound(Name)
With objLabel
.BackColor = Farbe(i)   'Hier ist das Problem!!
End With
ReDim Preserve LabelContr(0 To i)
Set LabelContr(i).LabelCmd = objLabel
Next

Bei der Zuweisung der Hintergrundfarbe .BackColor  = Farbe(i)
tritt ein Typenkonflikt auf.
Mit den Typkonvertierungsfunktionen hatte ich bisher keinen Erfolg.
O.K. ich könnte bei dem Feld Farbe statt vbRed usw. natürlich gleich
die Zahlenwerte für die entsprechenden Farbwerte einsetzen.
Aber das ist es natürlich nicht! Es geht hier natürlich wie immer auch
um das Verständnis.  Was mache ich falsch?
Top
#2
Hallo,

zeige doch mal den vollständigen Quelltext. Mit dem Schnipsel kann man nicht testen. Am besten wäre es, wenn du die Datei einstellst.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top
#3
Hallo,
wenn Du Farbe als Array deklarierst, geht es:
farbe = Array(vbRed, vbWhite, vbGreen)
Jetzt ist es ein Array aus VBA-Konstanten.
Vorher waren es ein Array aus Strings, eine Typumwandlung von String in VBA-Konstante gibt es nicht.
Was Du mit dem letzten Element von Farbe vorhattest, erschließt sich mir nicht.




Gruß der AlteDresdner (Win11, Off2021)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste