Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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?
Antworten 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
Antworten 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)
Antworten Top


Gehe zu:


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