Skriv data till en textfil med Excel VBA - enkla Excel -makron

Innehållsförteckning

Nedan kommer vi att titta på ett program i Excel VBA det där skriver ett Excel-intervall till en CSV-fil (kommaseparerat värde).

Situation:

Placera en kommandoknapp på ditt kalkylblad och lägg till följande kodrader:

1. Först deklarerar vi en variabel som heter myFile av typen String, ett objekt som heter rng av typen Range, en variabel som heter cellValue av typen Variant, en variabel som heter i av typen Integer och en variabel som heter j av typen Integer. Vi använder en variantvariabel här eftersom en variantvariabel kan hålla vilken typ av värde som helst.

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

2. Vi måste ange hela sökvägen och filnamnet för filen.

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

Obs! Egenskapen DefaultFilePath returnerar standardfilvägen. Om du vill ändra standardfilplatsen klickar du på fliken Arkiv, Alternativ, Spara.

3. Vi initierar intervallobjektet rng med det valda intervallet.

Ställ in rng = Selection

4. Lägg till följande kodrad:

Öppna myFile för utmatning som #1

Obs! Med detta uttalande kan filen skrivas till. Vi kan referera till filen som #1 under resten av vår kod. Om filen redan finns raderas den och en ny fil med samma namn skapas.

5. Starta en dubbel loop.

För i = 1 Till rng.Rows.Count
För j = 1 Till rng.Columns.Count

Obs! Rng.Rows.Count returnerar antalet rader (17 i detta exempel) och rng.Columns.Count returnerar antalet kolumner (4 i detta exempel).

6. Excel VBA skriver värdet på en cell till variabeln cellValue.

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

7. Lägg till följande kodrader för att skriva värdet av cellValue till textfilen.

Om j = rng.Columns.Count Då
Skriv #1, cellValue
Annan
Skriv #1, cellValue,
Avsluta om

Förklaring: på grund av satsen If Then Else startar Excel VBA bara en ny rad (Skriv #1, cellvärde) när j är lika med antalet kolumner (sista värdet i en rad). För att separera värdena med ett kommatecken, använd Skriv #1, cellVärde, (med ett kommatecken).

8. Glöm inte att stänga båda öglorna.

 Nästa j
Nästa i

9. Stäng filen.

Stäng #1

10. Välj data och klicka på kommandoknappen på arket.

Resultat:

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave