Clever-Excel-Forum

Normale Version: Übersicht der im Verzeichnis Downloads enthaltenen Dateien
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Community,

ich möchte in einer Excel-Arbeitsmappe einen Überblick über die derzeit im Verzeichnis Downloads enthaltenen Dateien schaffen. Zu diesem Zweck habe ich in der Arbeitsmappe ein neues Tabellenblatt eingerichtet, dort der Spalte A den Namen DAT gegeben und mit Hilfe des Namensmanagers den Bezug zu

=DATEIEN("c: \users\[Vorname Name]\downloads\*.*")

hergestellt. In Zelle A1 des Tabellenblatts hätte über die Formel

=INDEX(DAT;ZELLE())

die erste der Dateien in Downloads aufgeführt werden müssen. Stattdessen erhalte ich die Fehlermeldung #NV.

Worin kann der Fehler liegen ?
Hallöchen,

eventuell ist es nur ein Schreibfehler - aber hier hast Du zwischen c: und dem Backslash ein Leerzeichen, das darf nicht sein ... Eventuell musst Du auch statt users Benutzer schreiben.

Ein weiterer Fehler ist in Deiner INDEX-Formel. Hier ist ZELLE falsch, da gehört ZEILE rein
Hallo schauan,

ich habe noch einmal in den Eigenschaften einer der Dateien im Download den Pfad kontrolliert: Es liegt tatsächlich am Leerzeichen zwischen C: und Backslash, users war schon richtig. ZELLE statt ZEILE war lediglich ein Schreibfehler in meiner Nachricht.

Alles in allem: Wieder ein überzeugender Lösungsvorschlag von Dir.

Danke.

Hardbopper
Hallo schauan,

ich muss das Thema doch noch einmal aufgreifen, weil ich erneut an einem Punkt gelandet bin, wo es hakt.

Ich fasse noch einmal zusammen:

Im Verzeichnis Download landen regelmäßig Dateien, von denen jeweils die letzte (= neueste) einer bestimmten Kategorie ausgewertet werden soll. Das Auslesen in ein Excel-Datenblatt funktioniert über INDEX(DAT;ZEILE()) - siehe oben. Die Dateien werden in Spalte A des Datenblatts aufgelistet.

Auch das Ermitteln der jeweils aktuellen Datei in diesem Datenblatt ist über VERWEIS(2;1/(A1:A65535<>"");A:A) unproblematisch.

Das Ermitteln eines bestimmten Werts in dieser aktuellen Datei soll über POWER QUERY erfolgen. Dazu muss man aber wieder zum Verzeichnis Download zurückkehren, weil im Excel-Datenblatt ja nur die Datei-Adressen, nicht aber der Dateiinhalt gespeichert ist.

1. Frage :  Wie kann ich POWER Query dazu bringen, dass es beim Zugriff auf das Verzeichnis Download nicht alle dort vorhandenen Dateien auflistet, sondern nur die Datei, die ich im Excel-Arbeitsblatt als die aktuelle ermittelt habe ?

2. Frage: Gibt es die Möglichkeit, auf diese Hilfskonstruktion zu verzichten und in Download unmittelbar die aktuelle Datei zu isolieren ?

3. Frage: POWER Query kann wahlweise bei jeder Abfrage eine neue Excel-Tabelle erstellen oder eine Verknüpfung aktualisieren. 
Die Variante "Verknüpfung" hilft  mir nur dann weiter, wenn sie nicht mit der beim letzten Mal ausgewerteten Datei besteht, die u.U. nicht mehr aktuell ist, sondern dynamisiert werden kann. Ist das möglich ? 

(Ein Bisschen viel auf einmal, aber ich vertraue auf Deinen Erfindungsgeist)

Gruß Hardbopper
Ich habe - an die letzten Überlegungen anknüpfend - folgendes versucht:

Wie bereits beschrieben, wird im Excel-Tabellenblatt die Adresse der neuesten Datei aus dem Verzeichnis Download ermittelt. Mit Hilfe dieser Adresse habe ich eine Abfrage laufen lassen, die auch das erwünschte Ergebnis hatte.

Daraufhin habe ich im Download-Verzeichnis eine neue Datei generiert.

Ergebnis:

Deren neue Adresse wird zwar im Excel-Tabellenblatt ausgewiesen, die "alte" Abfrage passt sich aber nicht automatisch an, sondern basiert weiterhin auf der vorhergehenden Adresse.

Dieser Versuch war also nicht erfolgreich.

Das Problem besteht damit weiter.

Hardbopper
Hallöchen,

zu Power-Query kann ich leider nichts sagen, da ich das nicht verwende Sad
Code:
Sub M_snb()
  c00="C:\users\snb\downloads\"

  sn=split(createobject("wscript.shell").exec("cmd /c Dir """ & c00 & "*.*"" /b/a-d/o-d").stdout.readall,vbcrlf)

  sheets(1).cells(1).resize(ubound(sn))=application.transpose(sn)
End Sub