Prozedur zum Exportieren einer Textdatei mit Komma- und Anführungszeichen in Excel

Zusammenfassung

Microsoft Excel verfügt nicht über einen Menübefehl zum automatischen Exportieren von Daten in eine Textdatei, sodass die Textdatei sowohl mit Anführungszeichen als auch mit Kommas als Trennzeichen exportiert wird. Es gibt beispielsweise keinen Befehl zum automatischen Erstellen einer Textdatei, die die folgenden Daten enthält:

"Text1","Text2","Text3"

Sie können diese Funktionalität jedoch in Excel mithilfe einer Microsoft Visual Basic for Applications-Prozedur erstellen.

Weitere Informationen

Die Verwendung der hier aufgeführten Informationen, Makro- oder Programmcodes geschieht auf Ihre eigene Verantwortung. Microsoft stellt Ihnen diese Informationen sowie Makro- und Programmlistings ohne Gewähr auf Richtigkeit, Vollständigkeit und/oder Funktionsfähigkeit sowie ohne Anspruch auf Support zur Verfügung. Die zur Verfügung gestellten Makro- und Programmierungsbeispiele sollen lediglich exemplarisch die Funktionsweise des Beispiels aufzeigen. Die Microsoft Support-Spezialisten können bei der Erläuterung der Funktionalität bestimmter Prozeduren helfen, jedoch werden sie diese Beispiele nicht in Bezug auf eine erweiterte Funktionalität verändern, noch werden sie Prozeduren entwickeln, die auf Ihre besonderen Bedürfnisse zugeschnitten sind.

Sie können die Print #-Anweisung in einer Visual Basic-Prozedur verwenden, die der folgenden ähnelt, um eine Textdatei mit Anführungszeichen und Kommas als Trennzeichen zu exportieren. Damit die Prozedur ordnungsgemäß funktioniert, markieren Sie die Zellen, die Ihre Daten enthalten, bevor Sie sie ausführen.

Bevor Sie mit dem folgenden Beispielcode arbeiten, führen Sie die folgenden Schritte aus:

  1. Öffnen Sie eine neue Arbeitsmappe.

  2. Zeigen Sie in Microsoft Office Excel 2003 oder Microsoft Excel 2002 im Menü Extras auf Makro, und klicken Sie dann auf Visual Basic Editor. Alternativ können Sie ALT+F11 drücken.

    Klicken Sie in Microsoft Office Excel 2007 auf die Registerkarte Entwickler und dann in der Gruppe Code auf Visual Basic. Alternativ können Sie ALT+F11 drücken.

    Hinweis

    Um die Registerkarte Entwickler im Menüband anzuzeigen, klicken Sie auf die Microsoft Office-Schaltfläche, klicken Sie auf Excel-Optionen, klicken Sie auf die KategorieBeliebt , aktivieren Sie das Kontrollkästchen Registerkarte Entwickler im Menüband anzeigen , und klicken Sie dann auf OK.

  3. Klicken Sie im Visual Basic-Editor im Menü Einfügen auf Modul.

  4. Geben Sie den folgenden Beispielcode in das Modulblatt ein, oder fügen Sie ihn ein.

    Sub QuoteCommaExport()
       ' Dimension all variables.
       Dim DestFile As String
       Dim FileNum As Integer
       Dim ColumnCount As Long
       Dim RowCount As Long
    
       ' Prompt user for destination file name.
       DestFile = InputBox("Enter the destination filename" _
          & Chr(10) & "(with complete path):", "Quote-Comma Exporter")
    
       ' Obtain next free file handle number.
       FileNum = FreeFile()
    
      ' Turn error checking off.
       On Error Resume Next
    
       ' Attempt to open destination file for output.
       Open DestFile For Output As #FileNum
    
       ' If an error occurs report it and end.
       If Err <> 0 Then
          MsgBox "Cannot open filename " & DestFile
          End
       End If
    
       ' Turn error checking on.
       On Error GoTo 0
    
       ' Loop for each row in selection.
       For RowCount = 1 To Selection.Rows.Count
    
       ' Loop for each column in selection.
          For ColumnCount = 1 To Selection.Columns.Count
    
            ' Write current cell's text to file with quotation marks.
             Print #FileNum, """" & Selection.Cells(RowCount, _
                ColumnCount).Text & """";
    
             ' Check if cell is in last column.
             If ColumnCount = Selection.Columns.Count Then
                ' If so, then write a blank line.
                Print #FileNum,
             Else
                ' Otherwise, write a comma.
                Print #FileNum, ",";
             End If
          ' Start next iteration of ColumnCount loop.
          Next ColumnCount
       ' Start next iteration of RowCount loop.
       Next RowCount
    
       ' Close destination file.
       Close #FileNum
    End Sub
    
  5. Wählen Sie vor dem Ausführen des Makros die Daten aus, die Sie exportieren möchten, und führen Sie dann die Unterroutine QuoteCommaExport aus.