Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1868to1872
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

Dateiliste vom Excel

Dateiliste vom Excel
21.02.2022 18:24:16
wolfgang
Hallo zusammen,
wie kann man vom Dateiexplorer die Dateiliste nach Excel in eine Spalte kopieren,
ggf. auch mit vba.
mfg wolfgang

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateiliste vom Excel, was gefunden aber...
21.02.2022 18:58:03
wolfgang
Hallo zusammen,
hab mal was von Sepp gefunden aber bleibt bei:
stehen Do Until strFile = "" bzw. überspringt und geht dann auf End With
Ich möchte aber auch nichts addieren.

Sub Daten_Lesen()
Dim strPath As String, strFile As String, strTabName As String
Dim lngR As Long
ActiveSheet.Unprotect (getStrPasswort)
strPath = "C:\Users\ww\Desktop\02  Februar"                   'Verzeichnis anpassen!
strTabName = "Explorer"                                             'Name der Tabellenblätter anpassen!
strFile = Dir(strPath & "*.xlsm")
lngR = 1
With ThisWorkbook.Sheets("Explorer")                        'Name der Ausgabetabelle anpassen!
.Range("C2:C" & Rows.Count).ClearContents
Do Until strFile = ""
lngR = lngR + 1
.Cells(lngR, 1) = strFile
.Cells(lngR, 2).Formula = "=SUM('" & strPath & "[" & strFile & "]" & _
strTabName & "'!$C$3:$C$65000)"
.Cells(lngR, 3) = .Cells(lngR, 3).Value
strFile = Dir
Loop
End With
End Sub

Anzeige
AW: geht z.B. mit PQ ...
21.02.2022 19:45:21
neopa
Hallo Wolfgang,
... google mal nach z.B. Excel Power Query Dateiliste übernehmen.
Gruß Werner
.. , - ...
Habe versucht aber...
21.02.2022 19:57:32
wolfgang
Hallo Werner,
habe gerade versucht, bei der Auswahl Desktop und dann mein Ordner ist schlussssss...
Es gibt keine Auswahl.
Würde gern ein VBA für den Ordner auszulesen anwenden.
Hiermit wird allerdings nur die 1. Datei ausgelesen!

Public Sub Explorer_Dateien_kopieren()
'Debug.Print ExtProp("C:\Users\LaptopHP\Desktop\02  Februar")
Dim Datei As String
Dim x As Long
Dim DateiListe()
Datei = Dir("C:\Users\ww\Desktop\02  Februar\*.*")
Do While Datei  ""
x = x + 1
ReDim Preserve DateiListe(1 To x)
DateiListe(x) = Datei
Datei = Dir
Loop
'ListBox1.List = DateiListe
ActiveSheet.Range("c2") = DateiListe
End Sub
mfg wolfgang
Anzeige
AW: was hast Du genau versucht? ...
21.02.2022 20:13:49
neopa
Hallo Wolfgang,
... hast Du Dir wirklich schon die Seiten angeschaut, die Dir nach dem entsprechenden googlen angeboten werden?
Auch wenn ich es selbst so nicht brauche, ich weiß, es geht mit PQ.
Gruß Werner
.. , - ...
AW: Habe versucht aber...
21.02.2022 20:44:10
Yal
Hallo Wolfgang,
erstens, dein Code:

Public Sub Explorer_Dateien_kopieren()
Dim Datei As String
Datei = Dir("C:\Users\ww\Desktop\02  Februar\*.*")
Do While Datei  ""
ActiveSheet.Range("C9999").End(xlUp).Offset(1, 0) = Datei
Datei = Dir()
Loop
End Sub
zweitens mit Power Query:
_ im Menü "Daten", "Neue Abfrage", "Aus Datei", "Aus Ordner"
_ Verzeichnis aussuchen,
_ dann entweder "Laden" oder "Bearbeiten"
mit "Bearbeiten" kann man die Spalten "Name", "Extension", "Date modified" und "Folder Path" behalten (bzw, die anderen rausschmeissen), was ziemlich bequem Ist.
VG
Yal
Anzeige
Yal Super !!! Kann man noch...Danke auch Werner
21.02.2022 21:14:16
wolfgang
Guten Abend Yal,
danke für das Makro !
Es läuft !
Würde mich freuen, wenn man zur Auswahl den Explorer aufrufen könnte !
Power Query habe ich gerade getestet, geht auch, aber ich brauch nur die Dateinamen.
Danke auch an Werner er hatte ebenfalls Power Query vorgeschlagen.
gruß wolfgang
Danke Yal ! -)
21.02.2022 21:59:16
wolfgang
Danke Yal,
das ist eine super Information ! Werde ich mir näher betrachten und sicherlich auch nutzen.
Zur Info, ich brauch aktuell nur die Liste der Excel Dateien um diese mit einer anderen Liste
zu vergleichen.
Danke
Mit freundlichen Grüßen
Wolfgang
Anzeige
AW: auch Dateitypauswahl ist mit PQ möglich owT
22.02.2022 15:23:33
neopa
Gruß Werner
.. , - ...
Kann man noch...
22.02.2022 07:59:50
Yal
Moin,
In einer heutige Frage von "before" wird folgenden Code aufgestellt, der deine Frage beantwortet.

Function GetFolder() As String
With Application.FileDialog(msoFileDialogFolderPicker)
.AllowMultiSelect = False
.InitialFileName = "C:"  ' 0 Then GetFolder = .SelectedItems(1)
End With
End Function
Eine Function ist ein Sub, die eine Werte zurückgibt (wie eine Formel). Daher musst Du das Ergebnis in einer variable abfangen.

strVerz = GetFolder
Anschließend muss auch geprüft, dass das zurückgegebene Ergebnis nicht leer ist.
VG
Yal
Anzeige
Hallo Yal, klappt nicht
22.02.2022 10:29:56
wolfgang
Guten Morgen Yal,
das Makro klappt so nicht.
Der Explorer wird angezeigt, wenn ich das Verzeichnis auswähle kommt: "Es wurden keine Suchergebnisse gefunden"

Public Sub Explorer_Verzeichnis()
Call GetFolder
End Sub
Function GetFolder() As String
Dim strVerz
With Application.FileDialog(msoFileDialogFolderPicker)
.AllowMultiSelect = False
.InitialFileName = "C:" ' .Show
If .SelectedItems.Count > 0 Then GetFolder = .SelectedItems(1)
strVerz = GetFolder
End With
End Function mfg wolfgang
Anzeige
AW: Hallo Yal, klappt nicht
22.02.2022 10:55:10
Yal
Hallo Wolfgang,
natürlich funktioniert es, in der Form, nicht.
Du hast meinen Vorschlag vollständig geselen und auch vollständig verstanden, mindestens nach dem Du jeden Punkt, der Dir unklar war, gefragt hast: was ist damit gemeint?
"Eine Function ist ein Sub, die eine Werte zurückgibt (wie eine Formel)"
Es bedeutet: Du rufst diese Function nur um eine Werte zurückzubekommen.
Was könnte ein "GetFolder" zurückliefern, das irgendwie "msoFileDialogFolderPicker" heisst, und am Ende mit

If .SelectedItems.Count > 0 Then GetFolder = .SelectedItems(1)
Abschliesst? (was ist in dem Fall "SelectedItem"?)
Genau: einen Verzeichnis-Pfad.
Wo wird diese Verzeichnis-Pfad verwendet? In

Datei = Dir("C:\Users\ww\Desktop\02  Februar\*.*")
Wie kann man die beiden kombinieren?
In dem man das festes Verzeichnis durch einem Abruf von GetFolder ersetzt:

Datei = Dir(GetFolder & "\*.*")
Zusatz- -aber schwierige- Frage:
Wie kann man bewirken, dass Getfolder nicht auf "C:" startet sondern auf "C:\Users\ww\Desktop\"?
In dem man die Function eine Parameter übergibt.
also alles zusammen:

Public Sub Explorer_Dateien_kopieren()
Dim Datei As String
Datei = Dir(GetFolder("C:\Users\ww\Desktop\") & "*.*")
Do While Datei  ""
ActiveSheet.Range("C9999").End(xlUp).Offset(1, 0) = Datei
Datei = Dir
Loop
End Sub
Function GetFolder(Optional StartVerzeichnis As String = "C:") As String
With Application.FileDialog(msoFileDialogFolderPicker)
.AllowMultiSelect = False
.InitialFileName = StartVerzeichnis  ' 0 Then GetFolder = .SelectedItems(1) & IIf(Right(.SelectedItems(1), 1) = "\", "", "\")
End With
End Function
VG
Yal
Anzeige
Super Yal, welche eine Geduld !!! --))
22.02.2022 11:07:30
wolfgang
Guten Morgen Yal,
super !
Danke für die genau Beschreibung ! Ich bin nicht so tief drin wie Du bzw. auch andere im Forum
die eine qualifizierte Antwort geben.
Danke
gruß wolfgang

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige