Tabellen mit VBA als Textdateien exportieren

Mit Hilfe eines VBA-Programms m÷chten Sie eine Excel-Tabelle ins Textformat speichern. Dabei sollen die Spalten durch ein Semikolon getrennt sein. Das Problem: Das VBA-Programm nutzt nur Kommata zum Unterteilen.

Das ist ein Fehler von Excel 97 beim Speichern von CSV-Dateien, die als Trennzeichen das Semikolon verwenden. WΣhrend das Programm beim Speichern ⁿber ╗Datei | Speichern unter½ mit dem Strichpunkt arbeitet, nutzt das englische VBA fΣlschlicherweise das englische Trennzeichen û also ein Komma. In Excel 2000 ist dieses Problem behoben.
Um auch mit Excel 97 per VBA eine Textdatei mit Semikola als Trennzeichen zu erzeugen, mⁿssen Sie Ihre Exportroutine wie folgt anpassen:

Sub exportCSV()
On Error GoTo Err_exportCSV

   Dim mySection As Object æ mySection
   Dim myRow As Object æ Zeile
   Dim myCell As Object æ Zelle
   Dim strSeparator As String
   Dim strFile As String
   Dim strTemp As String
   Const DlgMeldung = äGeben Sie bitte Pfad und Dateinamen der Zieldatei ein!ô
   Const DlgTitel = äEingabe der Zieldateiô
   Const Trennzeichen As String = ä;ô

   strFile = InputBox(DlgMeldung, DlgTitel, äô)
   strSeparator = äô
   Set mySection =  ActiveSheet.UsedRange
   Open strFile For Output As #1
   For Each myRow In mySection.Rows
     For Each myCell In myRow.Cells
      If InStr(1, myCell.Text, ä;ô) > 0 Then
       strTemp = strTemp & strSeparator & äôäô & CStr(myCell.Text) & äôäô
       Else
       strTemp = strTemp & strSeparator & CStr(myCell.Text)
      End If
     strSeparator = Trennzeichen
     Next
    Print #1, strTemp
    strTemp = äô
    strSeparator = äô
   Next

   Close #1
   Set mySection = Nothing

Exit_exportCSV:
   Exit Sub

Err_exportCSV:
   MsgBox Err.Description
   Resume Exit_exportCSV

End Sub


Das gesamte Listing finden Sie auf der Heft-CD CHIP-Code CSVEXPRT.