[HELP] Imageboxen variable per Schleife bilder laden [VBA]

WarGodNT

Grünschnabel
Hallo zusammen ich habe ein problem ... ich habe etw 100 imageboxen und ich will nun auf alle ein bild laden immer ein anderes je nach text in der verlinkten tabelle
nun will ich nicht jede imagebox einzeln überprüfen auf 3 bilder den das ging ewig also wollte ich das einmal mit einer while schleife machen ... nun da die boxen immer anders heisen "image1","image2","image3" usw. wollte ich die nummer durch eine variabel ersetzen welche bei jedem durchlauf eins höherget habe es bereits so probiert :

Code:
Private Sub UserForm_Initialize()
Dim zeilen As Integer
Dim zeilenr As Integer
Dim max As Integer
Dim i As Integer

max = ("3")
zeilen = ("1")
zeilenr = ("2")
zeilen = i

While zeilenr < max

If Range("E" & zeilenr) = "Erledigt" Then
Image(zeilen).Picture = LoadPicture("M:\haus.gif")
End If

If Range("E" & zeilenr) = "Nicht begonnen" Then
Image(zeilen).Picture = LoadPicture("M:\tree.gif")
End If

If Range("E" & zeilenr) = "In Bearbeitung" Then
Image(zeilen).Picture = LoadPicture("M:\baustelle.jpg")
End If

zeilen = zeilen + 1
zeilenr = zeilenr + 1


Wend

End Sub

dies ging jedoch nicht da man irgendwie im namen noch ne variabel reinpaken kann -.-

hebt ihr vileich eine lösung währe super :D
 
item: Excel? ah ja, da kommt Range() drin vor. Dürfte also Das Microsoft Manager-Spielzeug sein - Excel.

item: Du solltest dein Code formatieren. Tabulatoren wirken Wunder was die Lesbarkeit angeht

item: Du solltest dich an die eigenen Definitionen halten
Visual Basic:
Dim zeilen As Integer

'Das folgende wird als String übergeben und muss von Excel zuerst in ein Integer gewandelt werden. Die Klammer ist ebenfalls unnützer Code
zeilen = ("1")
'So reicht es föllig aus:
zeilen = 1

item: Bitte verwende Satzzeichen im Text und Gross und Kleinschreibung
nun will ich nicht jede imagebox einzeln überprüfen auf 3 bilder den das ging ewig also wollte ich das einmal mit einer while schleife machen ... nun da die boxen immer anders heisen "image1","image2","image3" usw. wollte ich die nummer durch eine variabel ersetzen welche bei jedem durchlauf eins höherget habe es bereits so probiert
Ich verstehs echt nicht. Auf 3 Bilder in einer While-Schleife ging es ewig?
Du hast es Probiert. Soweit so gut. Kommt eine Fehlermeldung?

item: Wennd ie Imageboxe 'image1', 'image2' etc. heissen, dann solltest du sich auch über diesen Namen aufrufen. Ich kenne Excel-VBA nur am Rande. Aber ist Image() eine Liste aller Imageboxen?
 
Ich glaube er meint da was anderes.

Visual Basic:
Dim variable As String

variable = "Image"  'oder was anderes

Controls(variable & zeilen).Picture = "M:\haus.gif"
 
Zurück