Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1644to1648
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

Dateinamen aus Ordner auslesen ohne vollst. Pfad

Dateinamen aus Ordner auslesen ohne vollst. Pfad
25.09.2018 08:58:46
Mat
Hey!
Ich bin Mat und neu hier. Habe schon oft hier Lösungen für meine Excel Probleme gefunden. Nun möchte ich gerne aber einmal selbst Hilfe suchen, da ich im Netz nichts passendes finde.
Und zwar habe ich eine Tabelle, worin Kundennummern hinterlegt sind. In Spalte A sind Nummern in Form von 12387; 33897 etc. und in Spalte B sind Nummern in Form #9993897 etc.
In einem Unterordner ("data sheet") sind dazu "Datenblätter" hinterlegt die nach den Kundennummern benannt sind.
In der Tabelle sind alle möglichen Kundennummern enthalten, der Ordner "data sheet" enthält allerdings nur ausgefüllte Datenblätter, also nur eine geringere Anzahl der Tabelle.
Ich möchte nun in der Tabelle die verfügbaren Nummern markieren. entweder einfach Farbig hervorheben oder ein hinweis in einer zusatzspalte.
zuerst wollte ich die vorhandenen Dateien auslesen und anschließend mit einer bedingten formatierung kennzeichnen. das habe ich mit "namen definieren" und einer "index" Funktion gemacht. hat auch geklappt.
=DATEIEN("C:\abc\def\xyz\data sheets\*.*")
und
=INDEX(datlist;ZEILE())
Mein Problem ist, es müssen mehrere Kollegen damit arbeiten, welche aber nicht auf denselben Pfad zugreifen können. daher muss ich das Lösen indem in der Funktion nicht der Komplette Pfad eingegeben wird sondern nur der Unterordner in dem sich die datenblätter befinden in der Form "\data sheets\"
Also ohne das Laufwerk ("c:....") zu beschreiben. Das Funktioniert so allerdings nicht.
Kann mir dabei jemand helfen? Ich hoffe mein Problem ist verständlich Formuliert.
gerne auch eine Lösung über VBA.
Viele Grüße und Danke schon mal!
Mat

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: thisWorkbook.Path
25.09.2018 09:29:50
Fennek
Hallo,
wenn es immer ein Unterordner des aktuellen Workbooks ist, geht:

Pfad_Data = thisWorkbook.Path & "\data sheets"
mfg
AW: oder als Funktion ohne VBA
25.09.2018 17:17:23
Robert
Hallo,
den entsprechenden Unterordner der aktuellen Datei erhälst Du ohne VBA wie folgt:
=LINKS(ZELLE("dateiname");SUCHEN("[";ZELLE("dateiname"))-1)&"data sheets"
Dabei handelt es sich zwar um den vollständigen Pfad, aber mit den Pfadzuweisungen, wie es auf dem Rechner des jeweiligen Kollegen, der die Datei öffnet, eingestellt ist.
Gruß
Robert
AW: oder als Funktion ohne VBA
27.09.2018 08:04:27
Mat
Danke euch für die Hilfe!!
Mit der Lösung von Robert klappt das super...
eine weitere frage... ist es auch möglich eine "Oberordner" zu wählen? also wenn ich bspw. eine datei in einem Unterordner speicher, schließe und eine datei aus dem übergeordneten ordner öffnen möchte, ohne den Pfad zu nennen?
Mein Pfad: C:\Dateien\Datenbank\data sheets
So möchte ich vorgehen:
ActiveWorkbook.SaveAs (ThisWorkbook.Path & "\data sheets\" & Range("C7") & ".xlsm")
ActiveWorkbook.Close
Workbooks.Open .... Zugriff auf Datei "template" im Ordner Datenbank?
Viele Grüße und Danke :)
Anzeige
AW: oder als Funktion ohne VBA
27.09.2018 08:54:16
Mat
Das mit dem Ordner habe ich gelöst... jetzt muss ich nur noch die alte Datei schließen aber das bekomme ich nicht hin...
ActiveWorkbook.SaveAs (ThisWorkbook.Path & "\data sheets\" & Range("C7") & ".xlsm")
Workbooks.Open Filename:=(ThisWorkbook.Path & "\..\data base.xlsm")
Wie bekomme ich das alte sheet aktiv damit ich es schließen kann? es sollte dabei kein dateiname verwendet werden, da dieser auf 1000 Dateien variabel anzuwenden ist.. .
Danke :)
AW: oder als Funktion ohne VBA
27.09.2018 09:04:12
Nepumuk
Hallo Mat,
ein Beispiel:
Public Sub Beispiel()
Dim objWb As Workbook
Set objWb = ActiveWorkbook
objWb.SaveAs (ThisWorkbook.Path & "\data sheets\" & Range("C7") & ".xlsm")
Workbooks.Open Filename:=(ThisWorkbook.Path & "\..\data base.xlsm")
objWb.Close SaveChanges:=False
Set objWb = Nothing
End Sub

Gruß
Nepumuk
Anzeige
AW: oder als Funktion ohne VBA
27.09.2018 11:49:11
Mat
Klappt super!
vielen vielen dank!!

326 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige