Skriv data til en tekstfil ved hjælp af Excel VBA - nemme Excel -makroer

Indholdsfortegnelse

Nedenfor ser vi på et program i Excel VBA at skriver et Excel-område til en CSV-fil (kommasepareret værdi).

Situation:

Placer en kommandoknap på dit regneark, og tilføj følgende kodelinjer:

1. For det første erklærer vi en variabel kaldet myFile af typen String, et objekt kaldet rng af typen Range, en variabel kaldet cellValue af typen Variant, en variabel kaldet i af typen Integer og en variabel kaldet j af typen Integer. Vi bruger en variantvariabel her, fordi en variantvariabel kan indeholde enhver form for værdi.

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

2. Vi skal angive hele stien og filnavnet på filen.

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

Bemærk: egenskaben DefaultFilePath returnerer standardfilstien. Hvis du vil ændre standardfilplaceringen, skal du på fanen Filer klikke på Indstillinger, Gem.

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

Indstil rng = Valg

4. Tilføj følgende kodelinje:

Åbn myFile til output som #1

Bemærk: denne erklæring gør det muligt at skrive filen til. Vi kan referere til filen som #1 under resten af ​​vores kode. Hvis filen allerede findes, slettes den, og der oprettes en ny fil med samme navn.

5. Start en dobbelt sløjfe.

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

Bemærk: rng.Rows.Count returnerer antallet af rækker (17 i dette eksempel) og rng.Columns.Count returnerer antallet af kolonner (4 i dette eksempel).

6. Excel VBA skriver værdien af ​​en celle til variablen cellValue.

cellValue = rng.Cells (i, j) .Værdi

7. Tilføj følgende kodelinjer for at skrive værdien af ​​cellValue til tekstfilen.

Hvis j = rng.Columns.Count Så
Skriv #1, cellValue
Andet
Skriv #1, cellValue,
Afslut Hvis

Forklaring: På grund af sætningen If Then Else starter Excel VBA kun en ny linje (Skriv #1, celleværdi), når j er lig med antallet af kolonner (sidste værdi i en række). For at adskille værdierne med et komma, skal du bruge Skriv #1, cellValue, (med et komma).

8. Glem ikke at lukke begge sløjfer.

 Næste j
Næste i

9. Luk filen.

Luk #1

10. Vælg dataene, og klik på kommandoknappen på arket.

Resultat:

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave