Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Speicher unter CSV(Trennzeichen getrennt)(*CSV)

46 views
Skip to first unread message

Wolle

unread,
Mar 13, 2002, 7:11:33 AM3/13/02
to
Hallo zusammen,

habe das Problem unter folgendem Link gepostet.

<a
href="http://www.testashop.de/neffag/dvwin.html>Problembesc
hreibung DVWIN.csv</a>

Ich hoffe, das mir jemand dabei helfen kann, ich weiß
nichtmehr weiter.

Ach ja, ich verwende Excel 2000

Danke für eure Hilfe!

Gruß, Wolle

I. Röhr [MS]

unread,
Mar 14, 2002, 5:25:45 AM3/14/02
to
Hallo Wolfgang,

das ist leider ein bekanntes Problem in EXCEL. Werden CSV-Dateien per VBA
erstellt oder geöffnet, werden in vielen Fällen die US-Trennzeichen
verwendet. Dabei gibt es beim Öffnen noch Unterschiede, je nachdem von wo
der Makro gestartet wurde (über Schaltfläche oder EXTRAS - MAKRO).

Es gibt auch keine Möglichkeit, EXCEL per VBA zur Verwendung der deutschen
Trennzeichen zu bewegen. Intern werden US-Trennzeichen verwendet.

Als Woraround kann man sich so behelfen, dass man die CSV-Datei per Code
erstellen läßt und nicht über den Befehl SaveAs. Das kann man mit folgendem
Code realisieren:

Option Explicit
Sub ExportData()
Dim CurFile As String, SaveFileName As String
Dim CellText As String, LineText As String
Dim RowNum As Integer, ColNum As Integer
Dim TotalRows As Long, TotalCols As Long
SaveFileName = Application.GetSaveAsFilename(CurFile, _
"Alle Dateien (*.*), *.*", 0, "Export als Text (mit
Trennzeichen ;)")
If SaveFileName = "Falsch" Then
Exit Sub
End If
TotalRows = Selection.Rows.Count + 1
TotalCols = Selection.Columns.Count
If TotalRows = 1 And TotalCols = 1 Then
MsgBox "Bitte markieren Sie den zu exportierenden Bereich."
Exit Sub
End If
Open SaveFileName For Output As #1
For RowNum = 1 To TotalRows
For ColNum = 1 To TotalCols
With Selection.Cells(RowNum, ColNum)
If ColNum <> 1 Then
CellText = ";" & .Text
Else
CellText = .Text
End If
End With
LineText = LineText & CellText
Application.StatusBar = Format((((RowNum - 1) * TotalCols) _
+ ColNum) / (TotalRows * TotalCols), "0%") & "
abgeschlossen."
Next ColNum
If RowNum <> TotalRows Then
Print #1, LineText
LineText = ""
End If
Next RowNum
Close #1
Application.StatusBar = False
MsgBox "Der Export wurde abgeschlossen!", vbOKOnly, "Export als Text"
End Sub


Viele Grüße aus Unterschleißheim
Ina Röhr
Microsoft Services

"Die Inhalte der in dieser Newsgroup eingestellten Inhalte stammen von
Dritten. Microsoft kann daher für die Richtigkeit und Vollständigkeit der
Inhalte keine Haftung übernehmen. Bitte beachten Sie, dass Ihnen an den
Inhalten keinerlei Rechte eingeräumt werden."

"Wolle" <wald...@web.de> wrote in message
news:302001c1ca88$3791f580$9be62ecf@tkmsftngxa03...

0 new messages