Tabelle exportieren, nach bearbeitung retour senden
Hallo Leute,
Ich habe mit VBA Macros ein Tabellenblatt (Datei 1) in eine neue Tabelle (Datei2) kopiert.
Als Speichername habe ich mittels Inputbox eine zusätzliche Bezeichnung der Datei als Speichername für Datei 2 abgefragt. Das speichern klappt. Wenn ich aber die Daten der 2. Datei wieder in die ursprüngliche Datei zurückkopieren möchte, komme ich moment nicht auf die Lösung.
gibt es eine Möglichkeit die Dateinamen der Datei 1 zb.: Eingabe Inputbox oder den programierten Speicherpfad in A1 zu schreiben und dann diese Angabe als Zielpfad für die Daten der Datei 2 verwenden?
Oder gibt es eine andere Lösung?
grüße Armin
Antwort schreiben
Antwort 1 von Beverly vom 15.03.2022, 18:33 Options
Hi Armin,
definiere 2 Variablen in einem allgemeinen Modul als Public und schreibe Dateinamen und den speicherpfad auf diese Variablen. Auf diese Weise stehen sie dir so lange zur Verfügung wie die betreffende Arbeitsmappe mit dem Code geöffnet ist.
Bis später,
Karin
Antwort 2 von sas5597 vom 15.03.2022, 18:52 Options
Hallo Karin,
da die 2 Dateien von unterschiedlichen Jusern zu unterschiedlichen Zeiten bearbeitet werden. weiß ich nicht ob dies funktioniert, aber ich probiere es mal aus wenn ich die variablen in die zu kopierende Tabelle als privat einfüge.
ich muß mir noch Gedanken machen wie dies am besten funktioniert da Datei 1 den Speichername von Datei 2 erzeugt und Datei 2 die Daten dann in Datei 1 kopieren soll.
Dateiendung wechselt wöchentlich.
Hast du einen Tip?
Danke
Armin
Antwort 3 von Beverly vom 15.03.2022, 19:35 Options
Hi Armin,
wenn du die Ausgangsdatei schließt und wieder öffnest, dann ist der Inhalt der Variablen natürlich weg. In diesem Fall musst du den Dateinamen und den Pfad tatsächlich in der Arbeitsmappe ablegen. Nach diesem Prinzip kannst du die Eingabe aus einer Inputbox in eine Zelle schreiben:
Range("A1") = InputBox(.....)
Bis später,
Karin
Antwort 4 von sas5597 vom 18.03.2022, 19:32 Options
Hallo Karin,
ich teste das morgen mal.
Danke schön
grüße Armin