Hallo,
folgendes Problem. Ich habe einige sehr viele CSV Dateien mit allerhand Daten drinne (Daten wurden von einem Datenlogger an einer Maschine geschrieben). Diese CSV Dateien wandle ich nun in das XLSX Format um und bringe es gleichzeitig noch in eine übersichtliche "Tabellenform". Hierfür habe ich ein Makro geschrieben was an sich auch sehr gut funktioniert.
Nun wollte ich das Makro so ändern, dass er mir die Umgewandelte CSV gleich als XLSX mit gleichem Namen, also bspw. Test1.csv in Verzeichnis1 nach Test1.xlsx Verzeichnis2 speichert. Ist das irgendwie möglich? Aktuell habe ich pro Ordner 15 csv Dateien, diese öffne ich alle und arbeite für jede Datei das Makro ab und muss eben noch speichern. Diese extra Klicks wollte ich mir nur gerne sparen ;) Gibt es da eine Möglichkeit?
Hier mein VBA Code so far:
Sub ErsetzenUndSpeichern()
'
' ErsetzenUndSpeichern Makro
'
' Tastenkombination: Strg+l
'
Columns("A:A").Select
Selection.Replace What:=",", Replacement:=";", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1 _
), Array(14, 1), Array(15, 1)), TrailingMinusNumbers:=True
Cells.Select
Cells.EntireColumn.AutoFit
ActiveWorkbook.SaveAs Filename:= _
"E:\OneDrive\Masterarbeit\### Messungen\#03 04.08.2016 0830 Uhr\Excel\TB_BK3_.xlsx" _
, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
End Sub
Ich denke mal auf diese Zeile kommt es an:
ActiveWorkbook.SaveAs Filename:= _
"E:\OneDrive\Masterarbeit\### Messungen\#03 04.08.2016 0830 Uhr\Excel\TB_BK3_.xlsx" _
Dieses TB_BK3_.xlsx sollte automatisch aus dem gegeben Dateinamen gewählt werden. In diesem fall hier würde er ja jede Datei unter TB_BK3_.xlsx speichern wollen. Ich möchte aber das er sie bspw. unter TB_BK2_.xlsx speichert, wenn die entsprechende CSV aus der ich das Makro starte, eben auch so heißt.
Ich hoffe ihr wisst was ich meine und könnt mir weiter helfen.
VG,
Benjamin
|