Schreiben von Daten in eine Textdatei mit Excel VBA - Easy Excel Macros

Inhaltsverzeichnis

Im Folgenden sehen wir uns ein Programm in an Excel VBA das schreibt einen Excel-Bereich in eine CSV-Textdatei (comma-separated-value).

Lage:

Platzieren Sie eine Befehlsschaltfläche in Ihrem Arbeitsblatt und fügen Sie die folgenden Codezeilen hinzu:

1. Zuerst deklarieren wir eine Variable namens myFile vom Typ String, ein Objekt namens rng vom Typ Range, eine Variable namens cellValue vom Typ Variant, eine Variable namens i vom Typ Integer und eine Variable namens j vom Typ Integer. Wir verwenden hier eine Variant-Variable, weil eine Variant-Variable jede Art von Wert enthalten kann.

Dim myFile As String, rng As Range, cellValue As Variant, i As Integer, j As Integer

2. Wir müssen den vollständigen Pfad und den Dateinamen der Datei angeben.

myFile = Application.DefaultFilePath & "\sales.csv"

Hinweis: Die Eigenschaft DefaultFilePath gibt den Standarddateipfad zurück. Um den Standardspeicherort für Dateien zu ändern, klicken Sie auf der Registerkarte Datei auf Optionen, Speichern.

3. Wir initialisieren das Range-Objekt rng mit dem ausgewählten Range.

Set rng = Auswahl

4. Fügen Sie die folgende Codezeile hinzu:

Öffnen Sie myFile für die Ausgabe als # 1

Hinweis: Diese Anweisung ermöglicht das Schreiben in die Datei. Wir können im Rest unseres Codes auf die Datei als #1 verweisen. Wenn die Datei bereits existiert, wird sie gelöscht und eine neue Datei mit demselben Namen erstellt.

5. Starten Sie eine Doppelschleife.

Für i = 1 To rng.Rows.Count
Für j = 1 To rng.Columns.Count

Hinweis: rng.Rows.Count gibt die Anzahl der Zeilen (in diesem Beispiel 17) und rng.Columns.Count die Anzahl der Spalten (4 in diesem Beispiel) zurück.

6. Excel VBA schreibt den Wert einer Zelle in die Variable cellValue.

cellValue = rng.Cells(i, j).Value

7. Fügen Sie die folgenden Codezeilen hinzu, um den Wert von cellValue in die Textdatei zu schreiben.

Wenn j = rng.Columns.Count Then
Schreiben Sie #1, cellValue
Anders
Schreiben Sie #1, cellValue,
Ende Wenn

Erläuterung: Aufgrund der If Then Else-Anweisung beginnt Excel VBA nur dann eine neue Zeile (Write #1, cellValue), wenn j gleich der Anzahl der Spalten (letzter Wert in einer Zeile) ist. Um die Werte durch ein Komma zu trennen, verwenden Sie Write #1, cellValue, (mit einem Komma).

8. Vergessen Sie nicht, beide Schleifen zu schließen.

 Nächstes j
Als nächstes

9. Schließen Sie die Datei.

Schließen #1

10. Wählen Sie die Daten aus, und klicken Sie auf die Befehlsschaltfläche auf dem Blatt.

Ergebnis:

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave