Skriv data til en tekstfil ved hjelp av Excel VBA - Enkle Excel -makroer

Innholdsfortegnelse

Nedenfor ser vi på et program i Excel VBA at skriver et Excel-område til en CSV-fil (kommaadskilt verdi).

Situasjon:

Plasser en kommandoknapp på regnearket og legg til følgende kodelinjer:

1. For det første erklærer vi en variabel som heter myFile av typen String, et objekt som kalles rng av typen Range, en variabel som heter cellValue av typen Variant, en variabel som heter i av typen Heltall, og en variabel som heter j av typen Heltall. Vi bruker en variantvariabel her fordi en variantvariabel kan inneholde alle typer verdier.

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

2. Vi må spesifisere hele banen og filnavnet til filen.

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

Merk: Egenskapen DefaultFilePath returnerer standard filbane. Hvis du vil endre standard filplassering, klikker du på Alternativer, Lagre i kategorien Fil.

3. Vi initialiserer områdeobjektet rng med det valgte området.

Sett rng = Valg

4. Legg til følgende kodelinje:

Åpne myFile For Output som #1

Merk: denne uttalelsen gjør det mulig å skrive filen til. Vi kan referere til filen som #1 under resten av koden. Hvis filen allerede eksisterer, blir den slettet og en ny fil med samme navn vil bli opprettet.

5. Start en dobbel sløyfe.

For i = 1 Til rng.Rows.Count
For j = 1 Til rng.Columns.Count

Merk: rng.Rows.Count returnerer antall rader (17 i dette eksemplet) og rng.Columns.Count returnerer antall kolonner (4 i dette eksemplet).

6. Excel VBA skriver verdien av en celle til variabelen cellValue.

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

7. Legg til følgende kodelinjer for å skrive verdien av cellValue til tekstfilen.

Hvis j = rng.Columns.Count Da
Skriv nr. 1, cellValue
Ellers
Skriv #1, cellValue,
Slutt om

Forklaring: På grunn av setningen If Then Else starter Excel VBA bare en ny linje (Skriv #1, cellValue) når j er lik antall kolonner (siste verdi på rad). For å skille verdiene med et komma, bruk Skriv #1, cellValue, (med komma).

8. Ikke glem å lukke begge løkkene.

 Neste j
Neste jeg

9. Lukk filen.

Lukk #1

10. Velg dataene og klikk på kommandoknappen på arket.

Resultat:

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave