Az alábbiakban megnézzük a programot Excel VBA hogy Excel tartományt ír egy CSV (vesszővel elválasztott értékű) szövegfájlba.
Helyzet:
Helyezzen el egy parancsgombot a munkalapon, és adja hozzá a következő kódsorokat:
1. Először deklarálunk egy String típusú myFile nevű változót, a Range típusú rng nevű objektumot, a VarVent típusú cellValue nevű változót, az Integer típusú i nevű változót és az Integer típusú j változót. Azért használunk itt Variant változót, mert a Variant változó bármilyen típusú értéket tartalmazhat.
Dim myFile mint karakterlánc, rng as Range, cellValue as Variant, i As Integer, j As Integer
2. Meg kell adnunk a fájl teljes elérési útját és fájlnevét.
myFile = Application.DefaultFilePath & "\ sales.csv"
Megjegyzés: A DefaultFilePath tulajdonság az alapértelmezett fájl elérési útját adja vissza. A fájl alapértelmezett helyének módosításához kattintson a Fájl fül Beállítások, Mentés parancsára.
3. Inicializáljuk az rng tartományobjektumot a kiválasztott tartományt.
Set rng = Kiválasztás
4. Adja hozzá a következő kód sort:
Nyissa meg a myFile -t a kimenethez #1 -ként
Megjegyzés: ez az utasítás lehetővé teszi a fájl írását. A kód további részében a fájlra #1 hivatkozhatunk. Ha a fájl már létezik, akkor törlődik, és új azonos nevű fájl jön létre.
5. Indítson el egy kettős hurkot.
I = 1 -re rng.Sorok.számlálása
Ha j = 1 Rng.Oszlopok.Szám
Megjegyzés: Az rng.Rows.Count a sorok számát adja vissza (ebben a példában 17) és az rng.Columns.Count az oszlopok számát adja vissza (ebben a példában 4).
6. Az Excel VBA a cellValue változóba írja a cella értékét.
cellValue = rng. Cellák (i, j). Érték
7. Adja hozzá a következő kódsorokat a cellValue értékének a szövegfájlba írásához.
Ha j = rng.Oszlopok.Szám
Írja be az 1, cellValue értéket
Más
Írja be az 1 -et, cellValue,
Vége Ha
Magyarázat: az If Then Else utasítás miatt az Excel VBA csak akkor kezd új sort (Write #1, cellValue), ha j egyenlő az oszlopok számával (a sor utolsó értéke). Az értékek vesszővel történő elválasztásához használja a Write #1, cellValue (vesszővel) parancsot.
8. Ne felejtse el bezárni mindkét hurkot.
Következő j
Következő i
9. Zárja be a fájlt.
Bezárás #1
10. Válassza ki az adatokat, és kattintson a parancsikonra a lapon.
Eredmény: