Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
336to340
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
336to340
336to340
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Variablen zurücksetzen und Select Case-Anweisung

Variablen zurücksetzen und Select Case-Anweisung
10.11.2003 19:36:28
Jorainbo
Hallo Forum,

heute habe ich gleich zwei Fragen auf einmal :-)

Mit folgendem code prüfe ich aus einer Artikelliste, ob unter der Artikelnummer (Nr) in einem bestimmten Verzeichnis ein Bild vorhanden ist. Ist das der Fall, so gibt die Prozedur in Spalte K die Erweiterung(en) der Bilddatei(en) zurück. Funktioniert bestens. Meine Frage: gibt es zum Zurücksetzen der Variablen "Pics" eine elegantere Lösung, einen Befehl? Und wäre statt der vielen if's eine select case-Anweisung gscheiter, ich find mich in das Ding nicht so recht rein. Danke schonmal jenen, die sich Zeit nehmen und antworten, bis bald

Tom


Sub BildSuchen()
Dim Pfad, Nr, Pics
For Each Nr In Range("B2:B1000")
Pics = ""
Pfad = Range("J1").Value & "\" & Nr.Value & ".pdf"
If dir(Pfad) <> "" Then
Pics = "PDF "
End If
Pfad = Range("J1").Value & "\" & Nr.Value & ".bmp"
If dir(Pfad) <> "" Then
Pics = Pics & "BMP "
End If
Pfad = Range("J1").Value & "\" & Nr.Value & ".jpg"
If dir(Pfad) <> "" Then
Pics = Pics & "JPG "
End If
Cells(Nr.Row, 10).Value = Pics
Next Nr
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Variablen zurücksetzen und Select Case-Anweisung
10.11.2003 20:05:47
ChrisL
Hi Tom

Mit Select Case wäre es sicherlich schöner, aber die Lösung ist mir nicht eingefallen. Elegant wäre es mit einer Funktion, allerdings auch ohne Select :-)

Option Explicit


Sub BildSuchen()
Dim Nr As Range
For Each Nr In Range("B2:B1000")
Cells(Nr.Row, 10) = CheckFormat(Range("J1") & "\" & Nr)
Next Nr
End Sub



Function CheckFormat(Pfad As String) As String
If Dir(Pfad & ".pdf") <> "" Then CheckFormat = "PDF"
If Dir(Pfad & ".bmp") <> "" Then CheckFormat = "BMP"
If Dir(Pfad & ".jpg") <> "" Then CheckFormat = "JPG"
End Function


Übrigens darauf achten, dass du die Variablen sauber deklarierst. Wenn du nichts angibst wie bei im Beispielcode, werden sie als 'Variant' deklariert. Variant sollte nur im 'Notfall' benutzt werden. Im Beispiel wäre es...
Dim Pfad As String, Pics As String
Dim Nr As Range

Gruss
Chris
Anzeige
AW: Variablen zurücksetzen und Select Case-Anweisung
10.11.2003 20:46:30
Jorainbo
hallo Chris,

darauf ein oberbayrisches "ja varreck" ;-) -schowieder was dazuglernt. Mit den Variablendeklarationen muß ich mal noch einen Abend verbringen, bisher gings immer ohne ... glaube ich jedenfalls zu meinen. Wohligen Abend noch

ciao
Tom

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige