Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1264to1268
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
Inhaltsverzeichnis

Sortierung führt zum Laufzeitfehler

Sortierung führt zum Laufzeitfehler
Frank
Hallo an Alle,
kurz zur Erläuterung. Ich wähle einen Ordner aus in dem sich auch Unterordner befinden. In diesen Unterordnern liegen Dateien die nun dem Datum nach eingelesen werden. Rudi Maintaire war so lieb und hat einen Sortiercode zur Verfügung gestellt. Vielen Dank dafür an dieser Stelle. Nun funktioniert der Code aber nur, wenn ich einen Unterordner auswähle. Ansonsten kommt es zum Laufzeitfehler 9, Index außerhalb des gültigen Bereichs. Das heißt wähle ich den Hauptordner, wird für arrlist nichts übergeben. Kann mir jemand sagen wieso das so ist bzw. wie man das Problem behebt? Anbei der Code von Rudi:
Vielen Dank und viele Grüße,
Frank
Private Sub SearchFiles(strFolder As String, strFileName As String, Optional blnTMP As Boolean = _
_
_
True)
Dim objFolder As Object
Dim objFile As Object
Dim objFSO As Object
Dim lngFirst As Long
'Dim arrlist As Long
lngFirst = lngCount
Set objFSO = CreateObject("Scripting.FileSystemObject")
For Each objFile In objFSO.GetFolder(strFolder).Files
If objFile.Name Like strFileName Then
ReDim Preserve strList(lngCount)
strList(lngCount) = objFile.Path
lngCount = lngCount + 1
End If
Next
SortierMich strList, lngFirst
If blnTMP = True Then
For Each objFolder In objFSO.GetFolder(strFolder).SubFolders
SearchFiles strFolder & "\" & objFolder.Name, strFileName
Next objFolder
End If
End Sub
Private Sub SortierMich(arrlist, lngFirst)
Dim i As Integer, j As Integer, strTmp As String
For i = lngFirst To UBound(arrlist)'hier bricht es ab
For j = (i + 1) To UBound(arrlist)
If StrComp(arrlist(i), arrlist(j), 0) = 1 Then
strTmp = arrlist(j)
arrlist(j) = arrlist(i)
arrlist(i) = strTmp
End If
Next
Next
End Sub

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

Betreff
Benutzer
Anzeige
AW: Sortierung führt zum Laufzeitfehler
04.06.2012 18:25:12
Christian
Hallo Frank,
warum machst du einen neuen Thread auf?
https://www.herber.de/forum/archiv/1264to1268/t1265753.htm
Sei's drum - zu deiner Frage:
Wenn "arrlist" leer ist, hat dieses Array auch noch keine Obergrenze "UBound(arrlist)". Daher darfst du die Prozedur "SortierMich" nur ausführen, wenn lngCount größer 0.
ersetze:
SortierMich strList, lngFirst
durch:
If lngCount > 0 Then
Call SortierMich(strList, lngFirst)
End If

Gruß
Christian
Anzeige
Vielen Dank für deine Hilfe
05.06.2012 08:36:56
Frank
Guten Morgen Christian,
du hast mir sehr geholfen. Vielen Dank an dieser Stelle.
Ich wünsche einen schönen Tag.
Viele Grüße,
Frank

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige