Scrieți date într-un fișier text folosind Excel VBA - Macro Excel ușor

Cuprins

Mai jos vom analiza un program în Excel VBA acea scrie un interval Excel într-un fișier text CSV (valoare separată prin virgulă).

Situatie:

Plasați un buton de comandă pe foaia de lucru și adăugați următoarele linii de cod:

1. În primul rând, declarăm o variabilă numită myFile de tip String, un obiect numit rng de tip Range, o variabilă numită cellValue de tip Variant, o variabilă numită i de tip Integer și o variabilă numită j de tip Integer. Aici folosim o variabilă Variant deoarece o variabilă Variant poate conține orice tip de valoare.

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

2. Trebuie să specificăm calea completă și numele fișierului fișierului.

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

Notă: proprietatea DefaultFilePath returnează calea implicită a fișierului. Pentru a modifica locația implicită a fișierului, în fila Fișier, faceți clic pe Opțiuni, Salvați.

3. Inițializăm obiectul de rng cu intervalul selectat.

Set rng = Selection

4. Adăugați următoarea linie de cod:

Deschideți myFile pentru ieșire ca numărul 1

Notă: această declarație permite ca fișierul să fie scris în. Ne putem referi la fișier ca numărul 1 în restul codului nostru. Dacă fișierul există deja, acesta va fi șters și va fi creat un nou fișier cu același nume.

5. Porniți o buclă dublă.

Pentru i = 1 Pentru rng.Rows.Count
Pentru j = 1 Către rng.Columns.Count

Notă: rng.Rows.Count returnează numărul de rânduri (17 în acest exemplu) și rng.Columns.Count returnează numărul de coloane (4 în acest exemplu).

6. Excel VBA scrie valoarea unei celule în variabila cellValue.

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

7. Adăugați următoarele linii de cod pentru a scrie valoarea CellValue în fișierul text.

Dacă j = rng.Columns.Count Atunci
Scrieți # 1, CellValue
Altfel
Scrie # 1, CellValue,
End If

Explicație: datorită instrucțiunii If Then Else, Excel VBA începe doar o nouă linie (Write # 1, cellValue) atunci când j este egal cu numărul de coloane (ultima valoare dintr-un rând). Pentru a separa valorile cu o virgulă, utilizați Write # 1, CellValue, (cu o virgulă).

8. Nu uitați să închideți ambele bucle.

 Următorul j
Apoi eu

9. Închideți fișierul.

Închideți numărul 1

10. Selectați datele și faceți clic pe butonul de comandă de pe foaie.

Rezultat:

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave