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

Specherpfad dynamisch per VBA

Specherpfad dynamisch per VBA
09.05.2020 16:40:37
Hans
Hallo Forum,
kann man den Speicherpfad auch dynamisch per VBA vorgeben?
In meinem Tabellenblatt „Eingabe“ befindet sich in Zelle "BA320" der Speichername den ich für die einzelnen Speicherordner vergeben möchte.
Die Tabelle hat folgende Auswahlmöglichkeiten:
Angebot – Rechnung – 1. Mahnung – 2. Mahnung – 3. Mahnung
Entsprechend dazu gibt es in dem Laufwerk D:\Google Drive – Die oben genannten Ordner mit den Jahresordnern von 2020 bis 2030
D:\Google Drive\Speicherordner\Jahr
Die Zelle „EC7“ erstellt das Datum und in „FM7“ wird der Dateiname erzeugt (Verketten)
Zurzeit sieht mein Makro so aus....
Private Sub CommandButton13_Click()
Dim Pfad As String
Pfad = "D:\Google Drive\Rechnungen\" & Sheets("Eingabe").Range("EC7") & "\" &  _
Sheets("Eingabe"). _
Range("FM7") & ".xlsm"
ThisWorkbook.SaveAs Filename:=Pfad
End Sub
Vielen Dank für eure Vorschläge
Hans

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Specherpfad dynamisch per VBA
09.05.2020 16:46:41
Hajo_Zi
Pfad = "D:\Google Drive\Rechnungen\" & Range("A23") &"\" & & Sheets("Eingabe").Range("EC7") & "\" & _
Zu Deiner Datei kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue.Ich baue keine Datei nach.
Sollte die Datei verlinkt werden?
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten
http://www.ms-office-forum.de/forum/showthread.php?t=322895
änderrn.
Bilder lade ich mir nicht runter, da Excel damit nichts anfangen kann.
http://www.excel-ist-sexy.de/bilder-statt-datei/
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.
Das ist nur meine Meinung zu dem Thema.
Gruß Hajo
Anzeige
AW: Specherpfad dynamisch per VBA
09.05.2020 16:47:48
Oberschlumpf
Hi Hans,
was genau meinst du?
Mit deinem Code erstellst du doch schon "dynamisch" einen Speicherort.
Ciao
Thorsten
AW: Specherpfad dynamisch per VBA
09.05.2020 16:53:21
Hans
Hallo Thorsten,
im Speicherpfad sollte es so sein.
Erstelle ich eine Rechnung, dann D:\Google Drive\Rechnung\2020 (bis 2030) auswählbar
Erstelle ich ein Angebot, dann D:\Google Drive\Angebot\2020 (bis 2030) auswählbar
Entsprechend dann noch für 1. bis 3. Mahnung.....
Danke für die Hilfe
Hans
AW: Specherpfad dynamisch per VBA
09.05.2020 17:32:06
Hans
Hallo Tino,
nein, es geht nicht um das Erstellen einer PDF.
Ich möchte den Speicherpfad entsprechend der Dateivorgabe ändern
Erstelle ich ein Angebot dann D:\Google Drive\Angebot\
Erstelle ich eine Rechnung dann D:\Google Drive\Rechnung\
Erstelle ich eine Mahnung dann je nach Mahnstufe D:\Google Drive\2. Mahnung\
Der Zweite Speicherordner soll also dynamisch erstellt werden....
Hans
Anzeige
AW: Specherpfad dynamisch per VBA
09.05.2020 21:29:15
Firmus
Hallo Hans,
du zeigst uns recht nett was du alles erzeugen willst.
Damit der Pfad dynamisch erzeugt werden kann, musst du VBA mitteilen was du im Moment erzeugen willst.
Wie erkennt VBA (anhand eines Parameters?, eines Klicks?, eines ......), dass du ein Angebot,
eine Rechnung, Mahnung 1 ....2 .....3 erstellst.
Wenn VBA diese Info von DIR erhält, dann kann VBA auch den Pfad dynamisch erstellen.
Kommst Du klar?
Gruß,
Firmus
Neuer Erklärungsversuch... nun hoffendlich genauer
10.05.2020 01:46:13
hans
Moin moin,
hm... eventuell liegt das ja an meiner Beschreibung was ich genau möchte.
Also,
im Laufwerk D:\ --- gibt es einen Ordner mit dem Namen „Google Drive“
Dieser Ordner D:\Google Drive --- hat 5 Unterordner mit den Namen
ANGEBOT -- RECHNUNG -- 1. Mahnung -- 2. Mahnung -- 3. Mahnung
Jeder dieser fünf Ordner hat 10 Unterordner mit den Namen 2020 – 2021 – 2022 – 2023 usw. usw.
Wenn ich in meiner Tabelle „Eingabe“ ein Angebot erstelle, so soll der Verzeichnispfad entsprechend angepasst werden und der Entsprechende Ordner dann zum speichern genommen werden.
D:\Google Drive ist bereits vorgegeben
D:\Google Drive\“Ordnername“ z.B. „Angebot“ soll dynamisch sein
entsprechend dazu wird in der Zelle „BA320“ das Wort Angebot – Rechnung – 1. Mahnung usw. erzeugt.
In der Zelle „EC7“ wir entsprechend dann das Jahresdatum „als Zahl“ angezeigt
Also,
Ich möchte gerne ein Angebot aus 2020 in dem Ordner

D:\Google Drive\ANGEBOT\2020 abspeichern.
Eine Rechnung im Jahr 2021 dann entsprechend unter:

D:\Google Drive\Rechnung\2021
Der Speichername wird dazu in Zelle „FM7“ erzeugt. (Name, Adresse, Kundennummer usw.)
Mein derzeitiges Makro speichert zwar unter den Namen aber immer in dem Ordner „Rechnungen“ und dem ausgewählten Ordner 2020 – 2030
Auszug aus meinem Makro:
Pfad = "D:\Google Drive\Rechnungen\" & Sheets("Eingabe").Range("EC7") & "\" & Sheets("Eingabe"). _
Range("FM7") & ".xlsm"
Hier soll nur der ORDNERNAME – in diesem Fall "Rechnungen" – dynamisch über die Zelle "BA320" angepasst werden.
Ich habe schon das hier versucht, geht aber nicht: (Syntaxfehler)
Pfad = "D:\Google Drive\" & Sheets("Eingabe").Range("BA320"). & "\" & Sheets("Eingabe").Range("EC7") & "\" & Sheets("Eingabe"). _
Range("FM7") & ".xlsm"
Ich hoffe, dass meine Erklärung nun deutlich genug ist.....
Auch wenn ich nerve...
Vielen Dank für eure Mühe!
Hans
Anzeige
AW: Neuer Erklärungsversuch... nun hoffendlich genauer
10.05.2020 05:42:12
Oberschlumpf
Moin hans,
abstelle des "Romans", den du geschrieben hast, wieso zeigst du uns nicht bitte per Upload eine Bsp-Datei, die mit dem Aufbau deines Originals identisch ist?
Ciao
Thorsten
AW: Neuer Erklärungsversuch... nun hoffendlich genauer
10.05.2020 05:46:48
Charly
Hallo Hans
Versuch mal
Pfad = "D:\Google Drive\" & Sheets("Eingabe").Range("BA320").Text & "\" & _
Sheets("Eingabe").Range("EC7").Text & "\" & Sheets("Eingabe").Range("FM7").Text & ".xlsm"

Gruss Charly
@Charly nur noch ein Fehler.....
10.05.2020 10:15:22
hans
Moin moin,
vielen Dank, wir sind der Lösung schon recht nahe...
Nun erscheint dieser Teil in gelb: ThisWorkbook.SaveAs Filename:=Pfad
Hier noch einmal das Makro aus dem Schaltbutton
Private Sub CommandButton13_Click()
Dim Pfad As String
Pfad = "D:\Google Drive\" & Sheets("Eingabe").Range("BA320").Text & "\" & _
Sheets("Eingabe").Range("EC7").Text & "\" & Sheets("Eingabe").Range("FM7").Text & ".xlsm"
ThisWorkbook.SaveAs Filename:=Pfad
End Sub

Danke für den Versuch...
Hans
Anzeige
Danke für nichts- ich werde dieses Forum meiden
10.05.2020 14:28:26
hans
Vielen Dank für nichts,
in Zukunft werde ich dieses Forum meiden und mich anderweitig nach Hilfe umschauen.
Ganz ehrlich, das war mal das Beste Excel Forum was ich so kannte, davon ist es nun aber weit weg....
Hans
und warum dann "offen" aktiviert....
10.05.2020 14:38:16
Helmut
..wenn Du doch gehen willst
AW: @Oberschlumf
10.05.2020 16:06:01
Oberschlumpf
Hi hans,
hier, versuch mal
https:\/\/www.herber.de/bbs/user/137395.xlsm
Ich habe...
a)...den Wert aus B31 und die Verketten-Formel aus C31 in B31 zusammengeführt, da ja beides zusammen stehen muss
b)...alle Leerzeichen aus der Verketten-Formel entfernt, da vor und nach dem \ keine Leerzeichen stehen dürfen
c)...oben links einen Button eingebaut, der dann fast deinen Code durchführt
d)...mein Code bezieht sich NUR auf den Wert in Zelle B31, da in B31 schon der vollständige Pfad drin steht
e)...deinen Befehl ThisWorkbook.SaveAs Pfad geändert in ThisWorkbook.SaveCopyAs Pfad, da bei Verwendung von nur SaveAs deine Datei selbst immer wieder einen anderen Namen + Speicherort haben würde. Mit SaveCopyAs wird "nur" eine Kopie deiner Datei gespeichert, deine Eingabedatei selbst bleibt nun immer als solche erhalten
Ich habe alles 2x getestet, für Angebot und 3. Mahnung im Jahr 2024.
Und im jeweils richtigen Verzeichnis wurde die Datei gespeichert; hier ein Screenshot

Wenn du in deiner Originaldatei die Verketten-Formel in eine Zelle schreibst, die "frei" ist und den Code dann entsprechend anpasst, muss es eigtl auch bei dir funktionieren.
Hilfts?
Ciao
Thorsten
P.S. wieso hast du dich denn so geärgert? "Danke für nix...usw"
zumindest ich war denn ganzen Tag bis eben jetzt, wo ich wieder Zeit habe, anders beschäftigt
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige