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: