Clever-Excel-Forum

Normale Version: Datei/UOrdner/.xl* einlesen in UF
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Experten!
Habe da mal wieder eine Herausforderung an euch und ich hoffe ihr könnt mir da weiter helfen!
Mit den vorhanden Code wird in einen Laufwerk (Const lauf=“C:\Watrungspläne\“)  nach Ordnern gesucht und die gefundenen Ordner in der ListBox (lbOrdner) eingetragen.  Das geht auch soweit. Wenn in der ListBox (lbOrdner) etwas ausgewählt wird, werden dann die UnterOrdner die eine .xl* Datei haben in der ListBox( lbUnterordner)angezeigt. Das geht auch teilweise! Wählt man in ListBox( lbUnterordner) etwas aus werden alle .xl*in die ListBox(lbDateien) eingetragen. Soweit der Ablauf Normal! Ich habe mir jetzt was gebastelt damit nur bestimmte Ordner eingelesen werden sollen. Dies geschieht über OptionsButton. Für den Test habe ich 2 OptionButton belegt. Beim Start ist der OptionsButton4 aktiv, bei dieser Option wird alles eingelesen. Mit OptionButton SGM sollen nur bestimmte Ordner in die ListBox (lbOrdner) eingelesen werden die in der Tablle „Data“ stehen, das geht auch.  
Das Problem was ich jetzt habe ist:
Wird der OptionButton SGM angewählt werden die Ordner in der ListBox (lbOrdner) nach meinen Wunsch auch angezeigt aber alles weiter zum auswählen geht nicht mehr!
Ich würde euch gerne die Komplette Datei anhängen aber irgendwie geht das nicht!
Was ich noch vergessen habe in den Ordner sind nicht immer Excel Dateien.
Hi,

wenn ich Deine Datei öffne, kommt erst mal eine Fehlermeldung, weil etwas nicht so heißt, wie es im Makro genannt ist.

In OptionButton4_Klick:
die Zeile
lbOrdner.AddItem varText(UBound(varText))
Fehler 9: Index áu0erhalb des gültigen Bereiches.

doof-stell-Modus an:
Weiter kann ich nicht testen, weil wohl nicht alles dabei ist.
Warum kannst Du nicht die ganze Datei ztur Verfügung stellen?
Hallöchen,

der Fehler kommt, weil es das Verzeichnis nicht gibt und demzufolge da in eine bestimmte Variable nix eingelesen wird Sad

So wie es ausschaut, willst Du bei SGM bestimmte Ordner finden? Ich würd das schon in der Funktion fncordner verarbeiten. Du könntest an die Funktion einen weiteren Parameter übergeben, mit dem Du die Filterung auslöst und dann selbige dort verarbeiten, z.B.

Code:
Function fncOrdner(strPath As String, optional mySelect as String = "") As String()
...
   For Each objOrdner In objFolder.subfolders
      ReDim Preserve lStrOrdner(0 To lLngCounter)
      if instr(1,objOrdner.Path,mySelect)>0 then
        lStrOrdner(lLngCounter) = objOrdner.Path
        lLngCounter = lLngCounter + 1
      end if
   Next objOrdner

Wenn mySelect = "" ist, liefert die Funktion immer 1.
Wenn dort etwas anderes übergeben wird, dann kommt bei einem Treffer auch eine Zahl > 0 raus und der Filter wirkt.