Lasersword
Cadet 4th Year
- Registriert
- Jan. 2008
- Beiträge
- 123
Hallo CBler,
ich stehe hier vor einem Problem, welches ich nicht gelöst bekomme.
Ich habe eine Excel-Tabelle, welches ich als csv-Datei speichern möchte (Hatte dazu hier auch schon mal was geschrieben).
Mein Problem ist jetzt, dass es in der Datei Zahlen-, Datums- und Textwerte gibt.
Datums- und Textwerte müssen mit Anführungsstrichen übernommen werden und Zahlen ohne.
Speichere ich die Excel-Tabelle jetzt als CSV-Datei, werden aus einem Anführungszeichen gleich 3.
Habe auch gegoogelt und was gefunden:
Das Makro funktioniert auch wunderbar, allerdings bräuchte ich eine kleine Modifikation.
Ich will nicht, dass ein "InitialFileName" vergeben wird, sondern den Dateinamen fest hinterlegen, ohne dass der User ein Chance hat, diesen zu ändern.
Nutze ich nur den Saveas-Befehl, klappt das nicht.
Aber aus Erfahrung weiß ich, dass das funktionieren muss, weiß halt (wie immer ) nur nicht wie
Danke für eure Hilfe.
Gruß,
Lasersword
ich stehe hier vor einem Problem, welches ich nicht gelöst bekomme.
Ich habe eine Excel-Tabelle, welches ich als csv-Datei speichern möchte (Hatte dazu hier auch schon mal was geschrieben).
Mein Problem ist jetzt, dass es in der Datei Zahlen-, Datums- und Textwerte gibt.
Datums- und Textwerte müssen mit Anführungsstrichen übernommen werden und Zahlen ohne.
Speichere ich die Excel-Tabelle jetzt als CSV-Datei, werden aus einem Anführungszeichen gleich 3.
Habe auch gegoogelt und was gefunden:
Code:
Sub CSV_erste_Zeile()
'1. Zeile Spalte 1 bis 4 im aktiven Tabellenblatt in eine CSV/Text-Datei schreiben
Dim sCSV_Datei As Variant, wks As Worksheet
Dim Spalte As Long, Zeile As Long, FF As Integer
Dim sText As String
Const sSep As String = "," 'Trennzeichen
'Dateiname CSV-Datei
sCSV_Datei = Application.GetSaveAsFilename(InitialFileName:="CSV_Shape", _
Filefilter:="CSV-Text(*.csv;*.txt),*.csv;*.txt", _
Title:="Bitte Namen der CSV/Text-Datei eingeben/auswählen")
If sCSV_Datei = False Then Exit Sub
Set wks = ActiveSheet
Zeile = 1
FF = FreeFile()
Open sCSV_Datei For Output As FF
With wks
For Spalte = 1 To 4
Select Case Spalte
Case 1
sText = .Cells(Zeile, 1).Text
Case Else
sText = sText & sSep & .Cells(Zeile, Spalte).Text
End Select
Next Spalte
Print #FF, sText
End With
Close FF
End Sub
Das Makro funktioniert auch wunderbar, allerdings bräuchte ich eine kleine Modifikation.
Ich will nicht, dass ein "InitialFileName" vergeben wird, sondern den Dateinamen fest hinterlegen, ohne dass der User ein Chance hat, diesen zu ändern.
Nutze ich nur den Saveas-Befehl, klappt das nicht.
Aber aus Erfahrung weiß ich, dass das funktionieren muss, weiß halt (wie immer ) nur nicht wie
Danke für eure Hilfe.
Gruß,
Lasersword