Zapisuj dane do pliku tekstowego za pomocą Excel VBA - Easy Excel Macros

Spisie treści

Poniżej przyjrzymy się programowi w Excel VBA że zapisuje zakres Excela do pliku tekstowego CSV (wartości rozdzielane przecinkami).

Sytuacja:

Umieść przycisk polecenia w arkuszu i dodaj następujące wiersze kodu:

1. Najpierw deklarujemy zmienną o nazwie myFile typu String, obiekt o nazwie rng typu Range, zmienną o nazwie cellValue typu Variant, zmienną o nazwie i typu Integer oraz zmienną o nazwie j typu Integer. Używamy tutaj zmiennej Variant, ponieważ zmienna Variant może przechowywać dowolny typ wartości.

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

2. Musimy podać pełną ścieżkę i nazwę pliku.

myFile = Application.DefaultFilePath & „\sales.csv”

Uwaga: właściwość DefaultFilePath zwraca domyślną ścieżkę pliku. Aby zmienić domyślną lokalizację pliku, na karcie Plik kliknij Opcje, Zapisz.

3. Inicjujemy obiekt zakresu rng z wybranym zakresem.

Ustaw rng = Wybór

4. Dodaj następującą linię kodu:

Otwórz myFile do wyprowadzenia jako #1

Uwaga: to oświadczenie pozwala na zapisanie pliku. W dalszej części kodu możemy odwoływać się do pliku jako #1. Jeśli plik już istnieje, zostanie usunięty i utworzony zostanie nowy plik o tej samej nazwie.

5. Uruchom podwójną pętlę.

For i = 1 To rng.Rows.Count
Dla j = 1 To rng.Columns.Count

Uwaga: rng.Rows.Count zwraca liczbę wierszy (17 w tym przykładzie), a rng.Columns.Count zwraca liczbę kolumn (4 w tym przykładzie).

6. Excel VBA zapisuje wartość komórki do zmiennej cellValue.

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

7. Dodaj następujące wiersze kodu, aby zapisać wartość cellValue w pliku tekstowym.

Jeśli j = rng.Kolumny.Liczba Wtedy
Napisz #1, komórkaValue
W przeciwnym razie
Napisz #1, cellValue,
Zakończ, jeśli

Wyjaśnienie: ze względu na instrukcję If Then Else, Excel VBA uruchamia nowy wiersz (Write #1, cellValue), gdy j jest równe liczbie kolumn (ostatnia wartość w wierszu). Aby oddzielić wartości przecinkiem, użyj Write #1, cellValue (z przecinkiem).

8. Nie zapomnij zamknąć obu pętli.

 Następny j
Dalej ja

9. Zamknij plik.

Zamknij #1

10. Wybierz dane i kliknij przycisk polecenia na arkuszu.

Wynik:

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave