Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datein im Order/Verzeichnis Auslesen, Optimierung des Codes

Forumthread: Datein im Order/Verzeichnis Auslesen, Optimierung des Codes

Datein im Order/Verzeichnis Auslesen, Optimierung des Codes
08.08.2024 08:14:31
BwFHotte
Guten morgen zusammen,

anbei den Code zum Auslesen der Dateien im Verzeichnis.
Frage an die Profis.... könnt ihr den Code optimieren, damit das viel schneller ausgelesen wird?
das dauert gefühlt 10 sec. in der Zeit habe ich ja fast manuell die Datei gefunden...
Sub auslesen()

Dim fso As New FileSystemObject

Dim datei As File
Dim lzeile As Long

Range("cz1:Cz100").ClearContents
For Each datei In fso.GetFolder("\\Ei-Üb-Berichte\2024").Files

lzeile = Cells(Rows.Count, 104).End(xlUp).Row + 1

Cells(lzeile, 104).Value = datei.Name

Next datei
Text = "Der letzte Ei_ hat die Nummer" & " " & Range("DB1")

MsgBox Text
End Sub
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datein im Order/Verzeichnis Auslesen, Optimierung des Codes
08.08.2024 08:52:11
Oberschlumpf
Hi,

versuch mal so:


Sub auslesen()

Dim fs, f, f1, fc, s
Dim larstrFiles() As String
ReDim larstrFiles(0)

Range("cz1:Cz100").ClearContents

Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder("\\Ei-Üb-Berichte\2024")
Set fc = f.Files
For Each f1 In fc
larstrFiles(UBound(larstrFiles)) = f1.Name
ReDim Preserve larstrFiles(UBound(larstrFiles) + 1)
Next

ReDim Preserve larstrFiles(UBound(larstrFiles) - 1)

Range("CZ1:C" & UBound(larstrFiles) + 1).Value = WorksheetFunction.Transpose(larstrFiles)

' Text = "Der letzte Ei_ hat die Nummer" & " " & Range("DB1") '-- warum so?
MsgBox "Der letzte Ei_ hat die Nummer " & Cells(Rows.Count, 3).End(xlUp).Row '-- warum nicht so?

End Sub


Ciao
Thorsten
Anzeige
AW: Datein im Order/Verzeichnis Auslesen, Optimierung des Codes
08.08.2024 17:11:05
Oberschlumpf
Hi,

a) die Zeile mit Msgbox bitte so korrigieren:
Cells(Rows.Count, 104).End(xlUp).Row


b) bekomm ich denn auch noch ne Antwort, ob ich helfen konnte?

Ciao
ups, noch mal Korrektur
08.08.2024 17:15:19
Oberschlumpf
Hi,

bitte das hier...
Range("CZ1:C" & UBound(larstrFiles) + 1).Value

...ändern in...
Range("CZ1:CZ" & UBound(larstrFiles) + 1).Value


Jetzt passt es aber.

Ciao
Anzeige
AW: ups, noch mal Korrektur
08.08.2024 18:57:15
BwFHotte
Hallo Thorsten ....
Vielen dank für die schnelle Rückmeldung und den Code .
Code Funktioniert ohne Probleme!
Leider ist das immer noch sehr langsam !Weiß nicht woran das liegt ...selbst im Direktfenster liest er Datei für Datei im Sekundentakt aus.
Kann das am Netzwerk liegen?
Ansonsten muss ich leider damit leben!

Dankeschön trotzdem
Anzeige
AW: ups, noch mal Korrektur
08.08.2024 19:06:54
Oberschlumpf
Hi,

a) mein Code ist zweierlei optimiert
- zuerst werden aus deinem "\\..."-Verzeichnis alle Dateinamen in eine Array-Variable gesammelt, was für sich schon mal schneller geht, als Datei für Datei einzeln direkt in die Tabelle einzulesen
- nun wird - in einem Rutsch - der Array-Inhalt mit der Transpose-Codezeile in die Spalte CZ eingetragen, was auch wieder viel schneller geht, als jeden Dateinamen einzeln in die Spalte einzutragen

b) ja, du könntest mit deiner Vermutung recht haben, dass der/euer Netzwerk-Zugriff nicht sehr schnell ist. Und da kann ich leider nix ändern. Aber du könntest eure IT(Netzwerk)-Profis mal fragen, ob sie den Zugriff aufs Netzwerk beschleunigen können. Wenn das nicht möglich ist, ja, dann musst du leider damit leben.

Ciao
Thorsten


-
Anzeige
AW: ups, noch mal Korrektur
08.08.2024 19:21:12
Eifeljoi 5
Hallo

Oder als Alternative mit PQ
AW: ups, noch mal Korrektur
08.08.2024 19:39:34
Oberschlumpf
Hi,

und wie hat man mit PQ einen schnelleren Zugriff auf das Netzwerk als mit VBA?
Danke + Ciao
Thorsten
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige