Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
732to736
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
732to736
732to736
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Funktion hat einen Fehler

Funktion hat einen Fehler
Matthias
Hallo allerseits,
ich habe letzte Woche schon einmal gepostet und sehr schnell geholfen bekommen. Jetzt habe ich allerdings bemerkt, dass die Funktion einen Fehler hat. Der erste Dateiname im Directory wird nicht in die Tabelle geschrieben, es geht erst mit dem 2. Dateinamen los. Der Zähler x arbeitet korrekt und gibt am Ende den Wert 27 (im Testbeispiel sind 27 Dateien in dem Verzeichnis) zurück.
Hier der Code, der mir freundlicherweise von MichaV zur Verfügung gestellt wurde:

Sub CommandButton1_Click()
Dim Datei           As String
Dim x               As Long
Dim DateiListe()
Datei = Dir("F:\*.*")
Do While Datei <> ""
x = x + 1
ReDim Preserve DateiListe(1 To x)
Datei = Dir
DateiListe(x) = Datei
Loop
Worksheets("Dateien").Range(Cells(1, 1), Cells(UBound(DateiListe), 1)) = WorksheetFunction.Transpose(DateiListe)
Worksheets("Dateien").Range("C2:C2").Cells(1, 1).Formula = x
End Sub

Ich hätte noch eine Bitte: Der Button zum Einlesen befindet sich auf dem Tabellenblatt "Dateien", die Dateinamen aus dem Verzeichnis sollen aber bitte in das Tabellenblatt "Daten" in die Spalte A ab Zeile 2 geschrieben werden. Bitte seid so lieb und helft mir weiter.
Vielen Dank im Voraus
Matthias Holstein

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Funktion hat einen Fehler
14.02.2006 09:52:59
Luschi
Hallo Matthias
Du mußt die Reihenfolge der beiden Befehle austauschen:
Datei = Dir
DateiListe(x) = Datei
in
DateiListe(x) = Datei
Datei = Dir
Der Dir-Befehl vor der Schleife hat den 1. Dateinamen schon gefunden.
Den mußt Du abspeichern in das Array, bevor der Dir-Befehl am Schleifen-Ende die nächste Datei sucht.
Gruß von Luschi
aus klein-Paris
AW: Funktion hat einen Fehler
14.02.2006 09:56:54
Matthias
Hallo Luschi,
danke, das war es, jetzt funktioniert die Funktion. Aber was ist mit meiner weitergehenden Frage. Kannst du mir da auch helfen? Das die Dateinamen in ein anderes Blatt ab Position A2 geschrieben werden?
Vielen Dank im Voraus
Matthias Holstein
Anzeige
AW: Funktion hat einen Fehler
14.02.2006 10:43:26
Luschi
Hallo Matthias,
ich habe die Array-Liste rausgeschmitten und jetzt geht's so:
Sub CommandButton1_Click()
Dim Datei           As String
Dim x               As Long
Dim ws As Worksheet, rg As Range
Datei = Dir("D:\*.*")
x = 0
Set ws = ThisWorkbook.Worksheets("Daten")
Set rg = ws.Range("A2")
ws.Columns(1).ClearContents
ws.Range("C2").ClearContents
Do While Datei <> ""
x = x + 1
rg.Offset(x - 1, 0).Value = Datei
Datei = Dir
Loop
ws.Range("C2").Value = x
Set rg = Nothing
Set ws = Nothing
End Sub
Gruß von Luschi
aus klein-Paris
AW: Funktion hat einen Fehler
14.02.2006 12:32:08
Matthias
Vielen Dank, Luschi,
du hast mir wirklich sehr geholfen.
Beste Grüße und tausend dank.
Matthias Holstein
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige