Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
424to428
424to428
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Dateinamen im Makro anpassen bei speichern unter

Dateinamen im Makro anpassen bei speichern unter
10.05.2004 16:00:10
Hanno
Hallo Forum,
ich habe folgende Problemstellung:
Ich habe eine Exceldatei (Wartung) in der es ein Tabellenblatt gibt welches eine Tabelle enthält in die Daten mit einem Makro eingetragen werden. Die Daten stehen in einer anderen Exceldatei (Zeiten) welche zum Eintragen der Daten mittels Makro geöffnet wird.
Ablauf:
Datei/Tabelle (Wartung) öffnen. Bestimmte Zelle (in Datei/Tabelle Wartung) markieren und Makro mittels Button aufrufen. Die Datei (Zeiten) mit den Auswahldaten wird geöffnet. Ein Auswahlliste öffnet sich. Es werden Daten ausgewählt und mittels Button übernommen und in die Datei/Tabelle (Wartung) in die markierte Zelle eingetragen. Die Auswahlliste schliesst sich und die Datei/Tabelle (Wartung) wird wieder aktiviert. Dieser Ablauf kann beliegig wiederholt werden. Ist die Bearbeitung fertig und wird die Datei (Wartung) geschlossen schliesst auch automatisch die Datei (Zeiten).
Soweit funzt alles.
Allerding soll nun die Datei Wartung vom Anwender unter einem anderen Namen abgespeichert werden wenn alle Zeiten eingetragen sind. Das soll geschehen a) wenn die Datei/Tabelle (Wartung) geschlossen wird oder b) manuell ausgelöst werden wenn noch weitere Daten einzutragen sind. Das ist soweit erst mal kein Problem. Dazu ist es aber notwendig das Makro anzupassen in welchem die Datei/Tabelle (Wartung dann aber mit neuem Namen) aktiviert wird.
Bei einer weiteren Bearbeitung der Tabelle/Datei (Wartung mit dem neuen Namen) funzt das Makro natürlich nicht mehr weil der Dateinamen noch auf die alte Datei/Tabelle (Wartung) verweist.
Ich hoffe ich konnte die Problematik verständlich rüberbringen.
Gruß Hanno
AW: Dateinamen im Makro anpassen bei speichern unter
10.05.2004 16:09:43
FloGo
Hallo Hanno
Wenn ich deine frage richtig verstanden habe, kannst du ja den Namen der Arbeitsmappe durch folgenen Code ersetzen:
ActiveWorkbook.name
FloGo
AW: Dateinamen im Makro anpassen bei speichern unter
Hanno
Hallo FloGo,
danke erst mal.
Ich kann es zur Zeit nicht probieren, werd das aber auf jeden Fall tun.
Allerdings hab ich bedenken, wenn ich nämlich die Daten aus der nachladenden Datei hole ist doch diese die aktive, oder?
Dann kann ich nicht mehr Bezug auf die neu abgespeicherte nehmen?!?
Gruß
Hanno
AW: Dateinamen im Makro anpassen bei speichern unter
Hanno
Hallo FloGo,
es geht tatsächlich nicht wie Du es vorgeschlagen hast.
Gibt es denn keine Möglichkeit Makros zu ändern per Makro?
Dann könnte man einfach den Dateinamen im Makro durch den Dateinamen
mit welchem die Exceldatei dann abgespeichert wird ersetzen.
Der neue Dateiname wird übrigens aus Zellinhalten ermittelt.
Gruß
Hanno
Anzeige
AW: Dateinamen im Makro anpassen bei speichern unter
PeterW
Hallo Hanno,
lass die Finger von Makros, die andere Makros ändern!!
ActiveWorkbook.Name ist die aktive Datei, ThisWorkbook.Name ist die Datei, in der der Code läuft, mit diesen Hinweisen sollte es gehen.
Bei deinem angegebenen Level "VBA nur mit Recorder" solltest du mal deinen Code posten, vielleicht sieht man dann einen Ansatz.
Gruß
Peter
AW: Dateinamen im Makro anpassen bei speichern unter
Hanno
Hallo Peter,
danke für Deine Antwort.
So ganz unbedarft was Excel Makros betrifft bin ich nicht. Leider passt keiner von den Auswahlbereichen auf mich ;-)
Ich kann auch schon was schreiben bzw. Codes auf meine Bedürfnisse anpassen (wenn es nicht zu komplex ist).
Das mit dem "ThisWorkbook.Name" klingt gut. Das werd ich mal ausprobieren.
Sollte das nicht klappen stell ich mal den Code rein.
Gruß
Hanno
Anzeige
AW: Dateinamen im Makro anpassen bei speichern unter
Hanno
Hallo Peter,
das mit "ThisWorkbook.Name " funzt. Vielen Dank für den Tip.
Gruß
Heinz
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige