300 Beispiele

Daten in Textdatei schreiben

Write Data Text File

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





Situation:

Schreiben Sie Daten in eine Textdatei in Excel VBA





Ordnen Sie die Art der Leistung links dem Beispiel rechts zu.

Platziere a Befehlstaste auf 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.



Keinermeine DateiWie Zeichenfolge, rngWieBereich, cellValueWie Variante, ichWie Ganze Zahl, JWie Ganze Zahl

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 standardmäßigen Dateispeicherort zu ändern, klicken Sie auf der Registerkarte Datei auf Optionen, Speichern.

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

Satzrng = Auswahl

4. Fügen Sie die folgende Codezeile hinzu:

Offenmeine DateiFür 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.

Warum wählt Excel mehrere Zellen aus?

5. Beginnen Sie mit Doppelschleife .

Zumich = 1Zurng.Rows.Count
Zumj = 1Zurng.Columns.Count

Hinweis: rng.Rows.Count gibt die Anzahl der Zeilen zurück (17 in diesem Beispiel) und rng.Columns.Count gibt 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.

Wennj = rng.Columns.CountDann
Schreiben#1, cellValue
Anders
Schreiben#1, Zellenwert,
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).

wie man das 1. Quartil in Excel berechnet

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

NächsteJ
Nächsteich

9. Schließen Sie die Datei.

Nah dran#1

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

Ergebnis:

Daten in Textdatei schreiben Ergebnis

4/4 Fertig! Erfahren Sie mehr über das Anwendungsobjekt >
Gehe zum nächsten Kapitel: ActiveX-Steuerelemente



^