Spodaj si bomo ogledali program v Excel VBA to zapiše Excelov obseg v besedilno datoteko CSV (vrednost, ločena z vejicami).
Situacija:
Na delovni list postavite ukazni gumb in dodajte naslednje kodne vrstice:
1. Najprej razglasimo spremenljivko, imenovano myFile tipa String, predmet, imenovan rng tipa Range, spremenljivko, imenovano cellValue tipa Variant, spremenljivko, imenovano i tipa Integer, in spremenljivko, imenovano j tipa Integer. Tu uporabljamo spremenljivko Variant, ker lahko spremenljivka Variant vsebuje katero koli vrsto vrednosti.
Dim myFile As String, rng As Range, cellValue As Variant, i As Integer, j As Integer
2. Določiti moramo celotno pot in ime datoteke.
myFile = Application.DefaultFilePath & "\ sales.csv"
Opomba: Lastnost DefaultFilePath vrne privzeto pot do datoteke. Če želite spremeniti privzeto lokacijo datoteke, na zavihku Datoteka kliknite Možnosti, Shrani.
3. Objekt rng inicializiramo z izbranim obsegom.
Nastavi rng = Izbor
4. Dodajte naslednjo kodno vrstico:
Odprite myFile za izhod kot #1
Opomba: ta stavek omogoča zapisovanje datoteke. V preostalem delu kode lahko datoteko označimo kot #1. Če datoteka že obstaja, bo izbrisana in ustvarjena bo nova datoteka z istim imenom.
5. Zaženite dvojno zanko.
Za i = 1 Za rng.Rows.Count
Za j = 1 Za rng.Columns.Count
Opomba: rng.Rows.Count vrne število vrstic (17 v tem primeru) in rng.Columns.Count vrne število stolpcev (4 v tem primeru).
6. Excel VBA zapiše vrednost celice v spremenljivko cellValue.
cellValue = rng.Cells (i, j) .Vrednost
7. Dodajte naslednje vrstice kode, če želite v besedilno datoteko zapisati vrednost cellValue.
Če je j = rng. stolpci.šteti
Napišite #1, cellValue
Sicer pa
Napišite #1, cellValue,
Konec Če
Pojasnilo: zaradi stavka If Then Else Excel VBA zažene samo novo vrstico (Write #1, cellValue), ko je j enako številu stolpcev (zadnja vrednost v vrstici). Če želite ločiti vrednosti z vejico, uporabite Write #1, cellValue, (z vejico).
8. Ne pozabite zapreti obeh zank.
Naprej j
Naprej i
9. Zaprite datoteko.
Zapri #1
10. Izberite podatke in kliknite ukazni gumb na listu.
Rezultat: