Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Image
BildScreenshot zu Image Image-Seite mit Beispielarbeitsmappe aufrufen

If Abfrage erweitern

Betrifft: If Abfrage erweitern von: Günter
Geschrieben am: 23.10.2014 00:00:19

Hallo,

da ich bei If-Abfragen überhaupt nicht so fit bin, würde ich mich über etwas Hilfe freuen.
In diese Abfrage möchte ich noch eine Möglichkeit einbringen, wenn load$.gif nicht
vorhanden ist, das load$.jpg verwendet wird, ansonsten eben missing.gif
In der aktiven Zelle steht der Pfad zur Datei (in einem Unterverzeichnis von "ZX GAMES) und in B1 z.B. I:\

If Dir(Cells(ActiveCell.Row, 3) & "load$.gif") <> "" Then
UserForm1.Image_Prev.Picture = LoadPicture(ActiveCell.Value & "load$.gif")
Else
UserForm1.Image_Prev.Picture = LoadPicture(Cells(1, 2) & "ZX GAMES\" & "missing.gif")
End If

Gruss,
Günter

  

Betrifft: Am Einfachsten: 2 If-Abfragen von: {Boris}
Geschrieben am: 23.10.2014 00:04:08

Hi Günter,

...was hindert Dich daran, den Else-Zweig wegzulassen und stattdessen eine zweite If-Abfrage zu machen?

If Dir(Cells(ActiveCell.Row, 3) & "load$.gif") <> "" Then
UserForm1.Image_Prev.Picture = LoadPicture(ActiveCell.Value & "load$.gif")
End If

Und hier (direkt im Anschluss) das gleiche nochmal mit missing.gif

Und wenn das klappt, schau Dir mal ElseIf an!

VG, Boris


  

Betrifft: AW: Am Einfachsten: 2 If-Abfragen von: Günter
Geschrieben am: 23.10.2014 00:20:08

Hallo Boris,

daran habe ich gar nicht gedacht, so brauch ich ja garnix "verschachteln" ;)
Ich werds später probieren.

Danke dir für die schnelle Nachricht,
Günter


  

Betrifft: 2 If-Abfragen, geht so noch nicht von: Günter
Geschrieben am: 23.10.2014 00:56:50

Hallo Boris,

So funktionierts schonmal nicht,

   
 If Dir(Cells(ActiveCell.Row, 3) & "load$.gif") <> "" Then
 UserForm1.Image_Prev.Picture = LoadPicture(ActiveCell.Value & "load$.gif")
     If Dir(Cells(ActiveCell.Row, 3) & "load$.jpg") <> "" Then
     UserForm1.Image_Prev.Picture = LoadPicture(ActiveCell.Value & "load$.jpg")
         If Dir(Cells(ActiveCell.Row, 3) & "load$.gif") <> "" Then
         UserForm1.Image_Prev.Picture = LoadPicture(Cells(1, 2) & "ZX GAMES\" & "missing.gif")
         End If
      End If
 End If

Wo müßte ich dieses ELSE und ELSE If anwenden?
Oder liege ich da grundlegend falsch; das Problem für mich ist ja wenn load$.gif und load$.jpg nicht da, dann missing.gif.

Gruss,
Günter


  

Betrifft: AW: 2 If-Abfragen, geht so noch nicht von: Hajo_Zi
Geschrieben am: 23.10.2014 06:59:15

Hallo Günter,

Sub Bild()
    If Dir(Cells(ActiveCell.Row, 3) & "load$.gif") <> "" Then
        UserForm1.Image_Prev.Picture = LoadPicture(ActiveCell.Value & "load$.gif")
    ElseIf Dir(Cells(ActiveCell.Row, 3) & "load$.jpg") <> "" Then
        UserForm1.Image_Prev.Picture = LoadPicture(ActiveCell.Value & "load$.jpg")
    ' dies ist doppelt da zuerst schon geprüft.
    ' was soll pasieren bei "load$.gif"
    ElseIf Dir(Cells(ActiveCell.Row, 3) & "load$.gif") <> "" Then
        UserForm1.Image_Prev.Picture = LoadPicture(Cells(1, 2) & "ZX GAMES\" & "missing.gif")
    End If
End Sub
GrußformelHomepage


  

Betrifft: Jetzt gehts aber von: Günter
Geschrieben am: 23.10.2014 10:50:42

Hallo Hajo,

Das mit dem "was passiert bei "load$.gif"" war wohl irgendwie ein IF zuviel ;)
So funktionierts jetzt:
Also erst IF-abfrage, dann ElseIf, zum Schluss Else

   If Dir(Cells(ActiveCell.Row, 3) & "load$.gif") <> "" Then
       UserForm1.Image_Prev.Picture = LoadPicture(ActiveCell.Value & "load$.gif")
   ElseIf Dir(Cells(ActiveCell.Row, 3) & "load$.jpg") <> "" Then
       UserForm1.Image_Prev.Picture = LoadPicture(ActiveCell.Value & "load$.jpg")
   ' dies ist doppelt da zuerst schon geprüft.
   ' was soll pasieren bei "load$.gif"
   'ElseIf Dir(Cells(ActiveCell.Row, 3) & "load$.gif") <> "" Then
    Else: UserForm1.Image_Prev.Picture = LoadPicture(Cells(1, 2) & "ZX GAMES\" & "missing.gif")
   End If
Besten Dank für Eure Hilfe,
Günter


 

Beiträge aus den Excel-Beispielen zum Thema "If Abfrage erweitern "