Clever-Excel-Forum

Normale Version: Pfad per VBA auslesen lassen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo VBA-Freunde,
ich grüble wieder mal über eine VBA-Lösung:
Ich habe eine Excelmappe, die heißt Collectingsheet.xlsm.

Es soll nun folgendes geschehen:
Der User öffnet eine Excelmappe z.B „2014-05-12 Smartsheet.xlsm“ und bearbeitet diese Mappe. Irgendwo auf dem Rechner ist die Collectingsheet.xlsm gespeichert. nach dem Bearbeiten der geöffneten Mappe soll die Tabelle „Summery“ in die Collectingsheet.xlsm gespeichert werden.

Wenn das in dem gleichen Ordner stattfinden würde, wäre es ja kein Problem den Pfad auslesen zu lassen. Da ich aber keine Möglichkeit habe, den Usern einen Speicherort der „Collectingsheet.xlsm“ vorzuschreiben, die einen machen es auf dem Server, die anderen auf ihrem Laptop, bräuchte ich eine Möglichkeit den Pfad zu der Mappe „Collectingsheet.xlsm“ per VBA in der Mappe „2014-05-12 Smartsheet.xlsm“ einlesen zu lassen, damit ich zum Speichern der Daten die Mappe „Collectingsheet.xlsm“ öffnen kann.

Die User öffnen am Anfang eine Mustermappe "Smartsheet.xlsm" in der das Makro zum Auslesen verankert werden soll. Die Mappe "Smartsheet.xlsm" wird beim beenden dann woanders gespeichert.

Wer weis mir da eine Lösung?

Vielen Dank schon im voraus.
Hallo Heinz,
Soll der User beim Pfad definieren die Mappe C.. auch öffnen oder soll die automatisch gefunden werden? Im letzten Fall muss der User beim automatischen Suchen ggf. eine Auswahl treffen, falls es die Datei mehr als ein mal gibt. Bei größeren Datenmengen kann die Suche auch etwas länger dauern.
Hallo Andre,
wir machen es jetzt anders. Beim Speichern des smartsheets wird beim Beenden der Mappe der Speicerpfad
der Mappe in eine zentrale Mappe geschrieben.
Danke
Hallo Heinz,

hier mal nur der Vollständigkeit halber ein Ansatz, falls die entsprechende Exceldatei neben weiteren Exceldateien offen ist. Ich habe hier die Namen der Mappen mit dem großgeschriebenen Namen verglichen. Letztendlich weiß man vielleicht nicht, wie die Datei im Einzelfall gespeichert wurde. Test.xls, test.xls, Test.XLS oder wie auch immer.

Code:
Sub MappenPfad()
'Variablendeklarationen
'Workbook
Dim mappen As Workbook
'Schleife ueber alle offenen Mappen
For Each mappen In Workbooks
  'Wenn der grossgeschriebene Name der Mappe TEST.XLS ist, dann
   If UCase(mappen.Name) = "TEST.XLS" Then
   'Pfad der Mappe ausgeben
   MsgBox UCase(mappen.Path)
  'Ende Wenn der grossgeschriebene Name der Mappe TEST.XLS ist, dann
   End If
'Ende Schleife ueber alle offenen Mappen
Next
End Sub