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

VBA Dateipfad ändern via Eingabefeld

VBA Dateipfad ändern via Eingabefeld
28.05.2020 08:33:41
Tim
Guten Tag liebe Excel Gemeinde,
ich habe die Aufgabe bekommen verschiedene Kennzahlen meiner Abteilung zusammenzutragen und auf einem Blatt darzustellen. Die Dateien sind an unterschiedlichen Orten gespeichert und teils wird für jedes Jahr ein neuer Ordner angelegt und alles in eine Datei gefasst, teils wird die gesamte Datei Monat für Monat neugeschrieben.
Da ich viele Verweise habe möchte ich den zukünftigen Anwendern das Leben einfacher machen und die Aktualisierung der Pfade soll einfach per Makro angesteuert. Soweit so gut.
Nun soll der Makro aber 2 Zellen als Bezüge enthalten. Einmal den Alten Pfad zum suchen und einmal den neuen Pfad zum ersetzen. Dabei wird der alte Pfad mit ersetzt, weil er ja nicht mehr benötigt wird. Ich erhoffe mir davon eine möglichst flexible und einfache Änderung der Pfade. Ich habe schon viele Tipps aus dem Internet probiert, aber bis jetzt hat noch nichts bei mir geklappt.
Über Hilfe würde ich mich sehr freuen
Viele Grüße
Tim

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Was haben Kennzahlen mit Dateien zu tun?
28.05.2020 09:00:38
Martin
Hallo Tim,
ich habe deine Aufgabenstellung zweimal gelesen und noch immer nicht verstanden. Wie sollen wir bei dieser oberflächlichen Erklärung eine VBA-Lösung entwickeln?
Viele Grüße
Martin
AW: Was haben Kennzahlen mit Dateien zu tun?
28.05.2020 09:20:15
Tim
Hallo Martin,
Sorry wenn ich unpräzise war.
https://www.herber.de/bbs/user/137820.xlsx
hier mal eine ganz sporadische Beispiel Excel Mappe. Mithilfe des "Eingabefeldes" sollen Teile der Formeln im Dummy geändert werden und der alte Pfad neben dem Eingabefeld soll sich mit ändern.
Die Kennzahlen sollten zur Erläuterung der Problematik beitragen und beschreiben, dass ich keine vorher festgelegten Textteile ändere sondern eine flexible Lösung benötige. Alle Lösungen die ich fand ersetzten im Makro reingeschriebene Textteile durch ebenfalls im Makro festgelegte Textteile.
Viele Grüße
Tim
Anzeige
AW: Was haben Kennzahlen mit Dateien zu tun?
28.05.2020 09:54:54
Martin
Hallo Tim,
du machst es einem aber auch wirklich nicht einfach. Bitte verstehe doch, dass jeder Arbeitsschritt detailliert in VBA geschrieben werden muss, damit das Makro später funktioniert. Jetzt kenne ich die Zelladressen der Pfadangaben und kann diese per VBA auslesen lassen, aber jetzt weiß ich nicht weiter.
Du musst schon genau schreiben wo was ausgelesen und wo irgendetwas hinkopiert oder hinverschoben werden soll.
Der Anfang:
Sub Anfang()
Dim strPath1 As String
Dim strPath2 As String
Dim strSheetname1 As String
Dim strSheetname2 As String
With Sheets("MakroBlatt")
strPath1 = .Range("B5").Value
strPath1 = Left(strPath1, InStr(strPath1, ".XLSX") + 4)
strPath1 = Replace(strPath1, "[", "")
strSheetname1 = Right(.Range("B5").Value, Len(.Range("B5").Value) - Len(strPath1) - 2)
strPath2 = .Range("E5").Value
strPath2 = Left(strPath2, InStr(strPath1, ".XLSX") + 4)
strPath2 = Replace(strPath2, "[", "")
strSheetname2 = Right(.Range("E5").Value, Len(.Range("E5").Value) - Len(strPath1) - 2)
End With
End Sub
Viele Grüße
Martin
Anzeige
AW: Was haben Kennzahlen mit Dateien zu tun?
28.05.2020 09:58:10
Martin
...kaum gepostet und Fehler schon gesehen.
Statt
strSheetname2 = Right(.Range("E5").Value, Len(.Range("E5").Value) - Len(strPath1) - 2)
muss es
strSheetname2 = Right(.Range("E5").Value, Len(.Range("E5").Value) - Len(strPath2) - 2)
lauten.
AW: Was haben Kennzahlen mit Dateien zu tun?
28.05.2020 10:49:16
Tim
Hallo Martin
Also
über das im Beispiel beschriebene MakroBlatt sollen Pfade in Formeln anderer Blätter angepasst werden
B5 soll in dem Fall der neue Pfad sein
E5 stellt den alten Pfad da
Der Makro soll nun in Dummy Bereich B4:B7 E5 aus dem Makroblatt suchen und durch B5 ersetzen
Alternativ ist mir der Bereich egal, da sowieso alle Formeln mit diesem Pfad in verschiedenen Datenblättern so geändert werden sollen.
E5 soll dann den Wert von B5 annehmen.
Ich hoffe wirklich das ich verständlicher wurde. Tut mir Leid für jegliche Unannehmlichkeiten. Bin mit der ganzen Programierung und so gar nicht vertraut und bin froh, dass meine handvoll simpler Makro so funktioniert wie ich es brauche
Viele Grüße
Tim
Anzeige
AW: Was haben Kennzahlen mit Dateien zu tun?
28.05.2020 11:24:04
Martin
Hallo Tim,
da war ich ja vorher völlig auf dem Holzweg. Jetzt habe ich die Aufgabenstellung verstanden.
Hier der Code:
Sub ReplacePath()
With Sheets("MakroBlatt")
Sheets("Dummy").Range("B4:B7").Replace What:=.Range("E5").Text, _
Replacement:=.Range("B5").Text, LookAt:=xlPart
.Range("E5") = .Range("B5")
End With
End Sub
Hast du es dir so vorgestellt?
Viele Grüße
Martin
Vielen Dank!
28.05.2020 12:32:03
Tim
Hallo Martin,
wow... ich bin sprachlos. Hab den Code auch einmal in der richtigen Datei getestet und er ersetzt mir wie gewünscht die entsprechenden Teile der Formel und die Formel funktioniert danach noch einwandfrei!
Wer hätte gedacht das der Makro im Endeffekt so "leicht" ist...
Vielen lieben Dank für die Hilfe! Ich bin glücklich. Sorry das ich dich zuvor auf den Holzpfad geschickt hab!
Viele Grüße
Tim
Anzeige
Danke für das Feedback...
28.05.2020 12:40:46
Martin
...und eigentlich waren die Aufgabe und die Lösung wirklich einfach. Ich hatte erst gedacht, dass in externen Excel-Dateien in verschiedenen Verzeichnissen Veränderungen vorgenommen werden müssen.
Ich freue mich, dass nun alles zu deiner Zufriedenheit klappt.
Viele Grüße
Martin

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige