Kurzum: Ich möchte eine Tabelle als CSV mit Komma als Trennzeichen speichern. Zusätzlich erforderlich ist, dass die Werte in jeder Zelle des gerade aktiven Arbeitsblattes (mehr brauche ich nicht, da ich alles vor dem Export nochmal überblicken will) in " " Anführungszeichen setze.
Zusätzliches Problem ist, dass in der Exceldatei die ich habe (stammt aus einem Datenbanksystem aus dem ich nur exportiere und das ich nicht kenne) manche Zellen mir einem Leerstring belegt sind.
Das Problem konnte ich plump so lösen:
Range("A1:CZ150").Select
Selection.Replace What:="", Replacement:="xxxxxxx", LookAt:=xlWhole, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.Replace What:="xxxxxxx", Replacement:="", LookAt:=xlWhole, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
(wenn jemand ne kürzere elegantere Lösung kennt, mit vermeintlichen Leerzellen, die nicht leer sind umzugehen bitte Hilfe).
So, den Export mache ich dann mit:
ActiveSheet.SaveAs Filename:="C:\test.csv", FileFormat:=xlCSV, Local:=False
Klappt auch, nur halt ohne die " " in der CSV Datei.
Ich habe hier im Forum das gefunden: https://www.herber.de/forum/archiv/1272to1276/1272380_CSVDateien_erstellen_Formatierungsproblem.html
Aber das ist irgendwie für mich nicht kombinierbar mit meiner schön einfachen CSV Exportzeile. Ich suche eine für einen Dummy wie mich simple Lösung um zu einem CSV mit Komma als Trennzeichen zu kommen, dass mir jeden Zellwert noch in " " setzt.
Bisher bin ich immer mit dem .xlsx in OpenOffice und hab da das CVS erzeugt. Ich hoffe das durch eure Hilfe umgehen zu können.
Danke schonmal fürs Lesen bis hierhin.
Stefan