Podstawowe działania w arkuszu Excela VBA

1. Możliwości VBA w arkuszu Excel

Fajnie, że dotarłeś już do tej części szkolenia VBA Excel. W tym rozdziale omówimy w szczegółach jakie możliwości daje nam VBA w arkuszu danych. Jeśli zastanawiamy się, w jaki sposób napisać program, który wykona za nas określone działania w arkuszu, najprostszą metodą będzie tutaj zarejestrowanie makra. Po zarejestrowaniu możemy zobaczyć kod, który wykona za nas dokładnie te same działania na arkuszu. VBA w Excelu zawiera tysiące różnych możliwych sposobów działania. W tym rozdziale poznamy te, których będziemy często używać. Kod, który będziemy pisać w tym rozdziale powinniśmy wprowadzać do modułu oraz zawrzeć go pomiędzy frazami Sub Nazwa_programu() i End Sub.

2. Podstawowe działania na komórkach arkusza – adresowanie komórek

Jeśli chcemy wykonywać działania na konkretnym arkuszu danych innym, niż ten, na którym się obecnie znajdujemy, aktywujemy go następującym kodem wskazując w cudzysłowie nazwę – w naszym wypadku Arkusz1:

Sheets("Arkusz1").Select

Jeśli chcemy wprowadzić dowolną wartość w komórkę naszego arkusza, powinniśmy najpierw tą komórkę zaadresować. Adresowania dokonujemy przy pomocy polecenia Cells(komórka) lub Range(zakres). Za pomocą polecenia Cells możemy zaadresować dowolną jedną komórkę. Za pomocą polecenia Range adresujemy zarówno pojedynczą komórkę, jak i zakres wielu komórek.

Jesteśmy już w konkretnym arkuszu. By wykonać najprostsze działanie na pojedynczej komórce, korzystamy z przykładu opisanego w rozdziale Pierwszy program:

Range("A1") = "dowolna treść"

Jak wcześniej wspomniałem, do pojedynczej komórki w naszym arkuszu możemy odnieść się także poprzez zastosowanie polecenia Cells określając dany wiersz i kolumnę w sposób liczbowy. Dla przykładu Cells(2, 2) odnosić się będzie do komórki „B2”.

Cells(2, 2) = "dowolna wartość"

Możemy także od razu odnieść się do konkretnej komórki w konkretnym arkuszu. Robimy to łącząc wyżej wymienione kody:

Sheets("Arkusz2").Range("D23") = "Dowolny tekst"
Sheets("Arkusz2").Cells(2, 2) = "Dowolny tekst"

Powyższy przykład wypełnia komórki arkusza danymi. Co jednak, jeśli chcielibyśmy pobrać dane z komórek i np przypisać je do zmiennej? Jeśli mamy już zdefiniowaną zmienną odwracamy powyższe równania:

zmienna = Sheets("Arkusz2").Range("D23").Value
zmienna = Sheets("Arkusz2").Cells(2, 2)

W ten sposób możemy pobrać dane do naszego kodu VBA i wykonać na nich dowolne działania. Potem, jeśli chcemy możemy wstawić wyniki obliczeń do dowolnych komórek.

3. Manipulacja danymi w komórkach – kopiuj, wklej, wytnij, usuń

Jeśli chcemy wykonać podstawowe działania na komórkach Excela, w pierwszej kolejności zaznaczamy nasz zakres. W drugiej kolejności odnosimy się do zaznaczonego zakresu poleceniem Selection oraz wybieramy po kropce jedno z poleceń kopiujące, wycinające, wklejające, bądź usuwające dane z naszego zakresu.

Range("A1:B10").Select
Selection.Copy 'polecenie Kopiuj

Range("A1:B10").Select
Selection.Cut 'polecenie Wytnij

Range("A1:B10").Select
ActiveSheet.Paste 'polecenie Wklej

Range("A1:B10").Select
Selection.ClearContents 'polecenie Usuń
Kurs Excel VBA - podstawowe działania w arkuszu
Kurs Excel VBA – podstawowe działania w arkuszu

4. Zapisywanie plików VBA Excel

Jeśli chcemy zapisać nasz plik Excela za pomocą kodu VBA, najprostszym sposobem będzie odniesienie się do aktywnego skoroszytu oraz zapisanie go w następujący sposób przy wykorzystaniu polecenia Save:

ActiveWorkbook.Save

Jeśli natomiast chcemy zapisać nasz plik w innej, konkretnej lokalizacji wykorzystujemy do tego polecenie SaveAs oraz wpisujemy ścieżkę dla zapisania pliku.

Kod do zapisania pliku w formacie xlsx, a więc Skoroszyt programu Excel:

ActiveWorkbook.SaveAs Filename:="[ścieżka np C:\NAZWA_PLIKU].xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False

Kod do zapisania pliku w formacie xlsm, a więc Skoroszyt programu Excel z obsługą makr:

 ActiveWorkbook.SaveAs Filename:="[ścieżka np C:\NAZWA_PLIKU].xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

4. Zadania (Rozwiązanie możesz wpisać w komentarzu)

4.1 Napisz program wprowadzający w dowolne komórki Arkusza1 Twoje imię oraz miasto zamieszkania.

4.2 Usprawnij powyższy program – skopiuj i wklej wprowadzone dane do Arkusza2.

4.3 Usprawnij swój program dodając kod zapisujący plik Excela w wybranej przez Ciebie lokalizacji.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

14 komentarzy “Podstawowe działania w arkuszu Excela VBA”