Obiekt Range

Range to obiekt w kodzie VBA oznaczający komórkę lub zakres komórek arkusza.
Dla pojedynczej komórki zapis wygląda np. Range(“A1”)
Dla ciągłego zakresu komórek – np. Range(“A1:C10”) lub Range(“A1″,”C10”) – gdzie A1 to adres komórki w lewym górnym rogu, natomiast C1 to komórka wyznaczająca prawy dolny róg.

Można też przypisać całe kolumny lub wiersze, odwołując się do oznaczenia kolumny lub numeru wiersza.
Np. Range(“1:1”) – odpowiada zakresowi wiersza pierwszego
Range(“A:C”) – zakres kolumn A do C.
W kodzie można odwoływać się także do nazw zdefiniowanych w Menedżerze nazw. Jeżeli mamy taki zakres o nazwie np.MojeKomorki, to można się odwołać do niego poprzez Range(“MojeKomorki”).

Chcąc zadeklarować zakres jako zmienną w kodzie VBA korzystamy z:

Dim ZakresA As Range
Dim ZakresB As Range

Przypisanie wartości (czyli zakresu komórek) do zmiennej typu Range musi być, jak w przypadku wszystkich obiektów VBA, poprzedzone słowem kluczowym Set.

Set ZakresA=Range(“1:1”)
Set ZakresB = Range(“A:A”)

W odniesieniu zakresu Range często wykorzystuje się funkcje:

    • Intersect(Arg1 as Range, Arg1 as Range,… as Range
      funkcja zwracająca zakres będący częścią wspólną zakresów wprowadzonych jako argumenty
    • Union(Arg1 as Range, Arg1 as Range,… as Range
      funkcja zwracająca zakres będący sumą zakresów wprowadzonych jako argumenty

Obie funkcje przydają się szczególnie w kodzie związanym ze zdarzeniami arkusza.

 


 

 

Kurs Excel - makra i VBA dla początkujących

 

Komórki scalone

Komórki scalone to zakres komórek  scalony do jednej komórki. Zakres ten musi mieć kształt prostokąta (kwadratu).
Narzędzie scalania komórek jest dostępne na karcie Narzędzia główne, grupa opcji Wyrównanie.

Po zaznaczeniu zakresu komórek i naciśnięciu przycisku Scal i wyśrodkuj następuje scalenie komórek do jednej. Jeżeli scalane komórki nie są puste, wyświetli się komunikat ostrzegawczy przed opróżnieniem ich zawartości. Nowa, scalona komórka będzie miała adres i zawartość pierwszej komórki u góry z  lewej strony scalanego zakresu.
Przycisk ten działa jak przełącznik – ustawiając się na którejś z komórek zakresu i naciskając go ponownie – nastąpi zdjęcie scalenia komórek.

Czy warto stosować komórki scalone? Z pewnością tak, choć trzeba pamiętać, że pełnią one rolę głównie ozdobną. Pozwalają na ładne przedstawienie danych w formie tabelki, ale mogą się pojawić problemy przy analizie danych czy odwołaniach funkcji. Jeżeli argumentem jakieś funkcji, w zupełnie innym miejscu arkusza czy skoroszytu jest wartość którejś z dalszych komórek zakresu, wstawiona będzie wartość pusta.
Na screenie widoczny jest przykład, gdy w kolumnie A wstawiona jest data, a w kolumnie B – formuła wyliczająca ilość dni do końca miesiąca w stosunku do daty z kolumny A w tym samym wierszu:

Wartości są prawidłowe tylko w wierszu 2 i 12 czyli tam, gdzie rozpoczyna się scalony zakres (A2 i A12). Wstawiając więc taką formułę czy też zmieniając zakres , trzeba uważać.

 

 


Kurs Excel - zaawansowane techniki