Podstawowymi działaniami w VBA są działania na obiektach takich jak komórka lub zakres (range), cały wiersz (row), kolumna (column), arkusz (sheet), skoroszyt (workbook).
Obiekty posiadają metody, które właściwie są komendami dotyczącymi tych obiektów np.

Range(„C7”).Select - Zaznaczenie komórki C7
Range(„C7”).Copy - skopiowanie
Range(„C7”).Clear – usunięcie zawartości
Sheets("styczeń").Select – przejście na arkusz o nazwie styczeń
Activeworkbook.Close – zamknięcie aktywnego skoroszytu

Poruszanie się po arkuszu

ActiveCell.Offset(1, 0).Select – zaznaczenie komórki znajdującej się bezpośrednio pod komórką aktualnie zaznaczoną. W nawiasie 1 oznacza o ile wierszy, 0 oznacza o ile kolumn od bieżącej
ActiveCell.Offset(-3, 2).Select - zaznaczenie komórki o 3 w górę i o 2 kolumny w prawo
ActiveCell.Offset(4, -1).Select - zaznaczenie komórki o 4 w dół i 1 w lewo

Przejście w dół do komórki poprzedzającej pustą

Selection.End(xlDown).Select

Przejście w dół do komórki poprzedzającej pustą z zaznaczeniem całego zakresu

Range(Selection, Selection.End(xlDown)).Select

Przejście w dół do pierwszej pustej komórki, rozpoczynając od A1

Range("A1").Select
Do While Activecell <> ""
ActiveCell.Offset(1, 0).Select
Loop

Zaznaczenie obszaru od bieżącej komórki do komórki o trzy kolumny w prawo licząc łącznie z obecną komórką

ActiveCell.Range("A1:C1").Select

Zaznaczenie obszaru od komórki niższej o 1 (A2 - dwie łącznie z aktywną) do komórki o trzy kolumny w prawo i dwa wiersze w dół

ActiveCell.Range("A2:C3").Select

Włączenie ochrony arkusza

ActiveSheet.Protect

Wyłączenie ochrony

ActiveSheet.Unprotect

Wyłączenie odświeżania ekranu (żeby podczas pracy makra np. przeskakiwaniu pomiędzy arkuszami, zaznaczaniu komórek itp. Nie widzieć tych wszystkich czynności. Wtedy po uruchomieniu makra ekran pozostaje nieruchomy a wszystko odbywa się w tle. Dobrze jest na końcu dopisać załączenie odświeżania)

Application.ScreenUpdating = False

Załączenie

Application.ScreenUpdating = True

Przykład:

Sub jakies_makro()
Application.ScreenUpdating = False
Tutaj wiele różnych komend
Application.ScreenUpdating = True
End sub

Wyłączenie odświeżania przyspiesza pracę makra

Przejście do komórki o jeden wiersz w dół

ActiveCell.Offset(1, 0).Select

Przejście do komórki o jeden wiersz w górę i trzy kolumny w prawo

ActiveCell.Offset(-1, 3).Select

Ścieżki dostępu (komendy otwierające wskazany plik)

ścieżka bezwzględna do pliku o nazwie "plik.xls"

Workbooks.Open Filename:="C:\Documents and Settings\user\Pulpit\zadanie\plik.xls"

ścieżka do pliku o nazwie "plik.xls" w tym samym katalogu co aktywny skoroszyt

Workbooks.Open Filename:=ActiveWorkbook.Path & "\plik.xls"

do pliku w folderze "podfolder" podrzędnym do bieżacego miejsca

Workbooks.Open Filename:=ActiveWorkbook.Path & "\podfolder\plik.xls"

do pliku w folderze nadrzędnym

Workbooks.Open Filename:=ActiveWorkbook.Path & "\..\plik.xls"

wyjście z bieżącego folderu i wejście do innego o nazwie "podfolder"

Workbooks.Open Filename:=ActiveWorkbook.Path & "\..\podfolder\plik.xls"

wyjście kilka poziomów w górę i wejście do folderu "podfolder"

Workbooks.Open Filename:=ActiveWorkbook.Path & "\..\..\..\podfolder\plik.xls"

Przełączanie się między oknami (jeżeli są otwarte np. dwa pliki w osobnych oknach)

Windows("magazyn.xls").Activate

Przełącza się na okno zawierające plik „magazyn.xls”

Zapisanie zmian i zamknięcie pliku

ActiveWorkbook.Save
ActiveWindow.Close

Bez zapisywania

ActiveWorkbook.Close Savechanges:=False

Wyczyszczenie zawartości schowka

Application.CutCopyMode = False

Drukowanie

ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1

Wydrukuje 1 stronę

POWRÓT NA GÓRĘ

Pakiet biurowy MS Office | Microsoft Word | Microsoft Excel | Microsoft PowerPoint | Tworzenie stron www | CorelDraw | VBA | Obsługa komputera | Pisanie bezwzrokowe |