Beispiel für ein VBA Makro was die geöffnete Excelmappe (CSV Type) u. gleichem Namn

KerstinVo

Newbie
Registriert
Feb. 2018
Beiträge
3
Hallo zusammen,

ich benötige ein Beispiel für ein VBA Makro was die geöffnete Excelmappe (CSV Type) unter dem gleichen Namen, nur mit Extention *.xlsx, speichert im gleichen
Verzeichnis
Der Name der CSV Datei ist zum Bsp. : DST-GDP-Q1_2018.csv, dann soll die Excelmapp heißen DST-GDP-Q1_2018.xlsx

und dem Pfad hat mit W:\SG-323\TeamZentraleKatalogredaktion\Regelupdate\/Q1_2018\Sonderlocken

wo Quartal und Jahr Funktion ermittelt werden sollen und als Variablen gespeichert werden sollen.

Versuch:

Sub ExcelSpeichern()
Dim Datum As Date

Datum = Tabelle1.Range("A1")

Debug.Print "Das Datum " & Datum & " liegt im Quartal: " & _
DatePart("q", Datum)

Debug.Print "Das Datum " & Datum & " liegt im Jahr: " & _
DatePart("y", Datum)

'Auskommentiert
'Path zum Speichern ActiveWorkbook.SaveAs ("W:\SG-323\TeamZentraleKatalogredaktion\Regelupdate\Q1_2018\Sonderlocken" & "DST-GDP_" &Format(Day(Date), "00") & Format(Month(Date), "00") & Year(Date) & _".xlsx")'


End Sub

Gruß Kerstin
 
Bin leider nicht ganz sicher was du vorhast, aber in *.csv Dateien kann man keine Macros speichern.
Alternative1: Du müsstest eine extra Datei erstellen in der du dann das Macro abspeicherst. Zusätzlich müsstest du dir für diesen Ansatz überlegen wie die Datei, welche konvertiert werden soll, ausgewählt wird.
Alternative2: Du baust ein Add-In.
 
Hallo,

Das ist der Befehl manuell.
Die aktuelle Arbeitsmappe ist eine CSV datei und soll mit gleichem Namen als Excel gespeichert werden.

Das habe ich aufgezeichnet, öffne die bestehende CSV und lasse es ausführen.
Der Pfad ist hardcodiert, ich wünsche aber dynamischen Pfad aus Jahr und Quartal.

'Manueller Pfad für Quartal
ChDir "W:\SG-323\TeamZentraleKatalogredaktion\Regelupdate\Q1_2018\Sonderlocken"
ActiveWorkbook.SaveAs Filename:= _
"W:\SG-323\TeamZentraleKatalogredaktion\Regelupdate\Q1_2018\Sonderlocken\DST-nach-PLZ-Q1_2018.xlsx" _
, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
 
Nochmal zu meiner Frage:
Wie stellst du dir deinen Arbeitsprozess für die Verwendung des Macros vor?

Ausgangslage: Keine Datei oder Programm ist geöffnet.

1) Öffne gewünschte *.csv Datei von Hand
2) Öffne das Macro-Fenster in Excel
3) Führe das Konvertierungsmakro aus

Für den oben genannten Prozess muss das Macro irgendwo gespeichert sein. Macros können nicht in *.csv Dateien gespeichert werden. D.h. du musst dir, wie oben erwähnt eine weitere Datei erstellen in der du das Macro speicherst.

Die eigentliche Implementierung des Macros ist kein großes Problem.
Wohl aber, wo das Macro gespeichert werden soll.
 
Nanu? Gibt es keine persönliche Arbeitsmappe mehr?

Bei mir unter W10 z.B.
C:\Users\CN8\AppData\Roaming\Microsoft\Excel\XLSTART\PERSONAL.xlsb

CN8
 
Natürlich gibt es die noch.
Aber ich würde im Unternehmensumfeld eher davon abraten dort Macros zu hinterlegen.
 
Warum, bitte?
Wenn einer gewisse Makros braucht, warum diese nicht dort ablegen? Übernommen bei Bedarf aus einem Archiv vom Server. Dass das evtl. nicht pflegeleicht ausgeht ist mir klar; aber mit AddIns wären wir wohl genauso dran.
Jedes Mal vom Server eine Mappe laden die dieses eine Makro hält um dann wiederum mit der CSV zu hantieren könnte sich als psychologisch so lästig erweisen, dass es nicht durchzuziehen ist.

CN8
 
Zurück
Oben