1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

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

Dieses Thema im Forum "Office-Anwendungen" wurde erstellt von WarGodNT, 16. Februar 2012.

  1. WarGodNT

    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 (Text):
    1. Private Sub UserForm_Initialize()
    2. Dim zeilen As Integer
    3. Dim zeilenr As Integer
    4. Dim max As Integer
    5. Dim i As Integer
    6.  
    7. max = ("3")
    8. zeilen = ("1")
    9. zeilenr = ("2")
    10. zeilen = i
    11.  
    12. While zeilenr < max
    13.  
    14. If Range("E" & zeilenr) = "Erledigt" Then
    15. Image(zeilen).Picture = LoadPicture("M:\haus.gif")
    16. End If
    17.  
    18. If Range("E" & zeilenr) = "Nicht begonnen" Then
    19. Image(zeilen).Picture = LoadPicture("M:\tree.gif")
    20. End If
    21.  
    22. If Range("E" & zeilenr) = "In Bearbeitung" Then
    23. Image(zeilen).Picture = LoadPicture("M:\baustelle.jpg")
    24. End If
    25.  
    26. zeilen = zeilen + 1
    27. zeilenr = zeilenr + 1
    28.  
    29.  
    30. Wend
    31.  
    32. 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
  2. Yaslaw

    Yaslaw n/a Moderator

    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
    Code (Visual Basic):
    1. Dim zeilen As Integer
    2.  
    3. 'Das folgende wird als String übergeben und muss von Excel zuerst in ein Integer gewandelt werden. Die Klammer ist ebenfalls unnützer Code
    4. zeilen = ("1")
    5. 'So reicht es föllig aus:
    6. zeilen = 1
    item: Bitte verwende Satzzeichen im Text und Gross und Kleinschreibung
    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?
  3. tombe

    tombe Premium-User

    Ich glaube er meint da was anderes.

    Code (Visual Basic):
    1. Dim variable As String
    2.  
    3. variable = "Image"  'oder was anderes
    4.  
    5. Controls(variable & zeilen).Picture = "M:\haus.gif"
  4. Zvoni

    Zvoni Erfahrenes Mitglied

Diese Seite empfehlen