Kategorie powiązane:

Obiekt Range

HintMine

Na pierwszy ogień weźmy obiekt Range.

 

W tym poście dowiesz się:

  1. Do czego służy Range?
  2. Jak używać obiektu Range, żeby odwołać się do komórki?
  3. Użycie obiektu Range w pętli
  4. Najczęściej używane właściwości obiektu Range
  5. Najbardziej przydatne metody (funkcje) obiektu Range
    (ten temat jest na tyle obszerny, że napisałem o nim osobny artykuł)

 

1. Do czego służy obiekt Range ?

Obiekt Range służy do odwołania się w kodzie makra do komórki, zakresu komórek, kolumn i wierszy. Moim zdaniem to jeden z najważniejszych obiektów w Excelu.

 

2. Jak używać obiektu Range, żeby odwołać się do komórki?

Najlepiej pokaże to poniższe makro :)

 

3. Użycie obiektu Range w pętli

Zmienną która jest licznikiem pętli musimy „dokleić” do litery kolumny na zasadzie Range(„A” & wiersz)

4. Najczęściej używane właściwości obiektu Range

.Address

Zwraca adres podanej komórki w postaci $kolumna$wiersz, czyli poniższym przykładzie zobaczysz „$A$1”.

 

.Characters

Pozwala na odwołanie się do konkretnych znaków w wartości komórki i np. pokolorowanie ich, odczytanie, pobranie.

 

.Column

Zwraca numer kolumny, bardzo przydatne np. przy znajdowaniu numeru ostatniej wypełnionej kolumny w danym wierszu. Możemy to zrobić np. tak: od najbardziej na prawo wysuniętej kolumny Arkusza czyli XFD wykonujemy „ctrl + ” co spowoduje przeniesienie zaznaczenia do ostatniej wypełnionej w tym wierszu kolumny

 

.Columns

Kolekcja zawierająca wszystkie kolumny danego zakresu, przykładowe zastosowanie:

 

.CurrentRegion

Zbiór przylegających do siebie komórek, w Excelu można je zaznaczyć skrótem Ctrl+* Najlepiej wyjaśnią to obrazki poniżej.

 

.End

Używam tej właściwości gdy trzeba przejść szybko na początek lub koniec zakresu. Excelu korzystamy z tej właściwości naciskając „CTRL + <-” lub „CTRL + ->” itd. W kodzie CTRL zastępuje właśnie END. Tej właściwości bardzo często używa się do wyliczenia ostatniej wypełnionej kolumny lub wiersza:

 

Zanim uruchomisz przykład prz06 najpierw zapełnij dowolnymi wartościami zakres od komórki A1 do J10 a następnie kliknij w komórkę A1 i teraz wykonaj kod procedury prz06 KROKOWO (czyli za pomocą F8)

 

.EntireColumn

Cała kolumna w której znajduje się dana komórka. Używamy tej właściwości np. żeby dopasować szerokość kolumny do jej zawartości

 

.EntireRow

Cały wiersz w którym znajduje się dana komórka. Używamy np. do sprawdzenia ile komórek jest wypełnionych w danym wierszu

 

.Font

Ustawienia czcionki dla zakresu lub komórki.

 

.Formula

Bardzo przydatna właściwość. Korzystam z niej gdy chcę na szybko zobaczyć jak po angielsku nazywa się formuła która została użyta w komórce dzięki czemu wiem pod jaką nazwą szukać tej funkcji w kodzie np. w komórce B1 piszę formułę =FRAGMENT.TEKSTU(A1;1;5). Potem uruchamiamy program prz10

I po wykonaniu powyższego programu, pojawi się nam w oknie immediate window (skrót ctrl+g) taki tekst:
=MID(A1,1,5) stąd wiem, że funkcja fragment tekstu to w kodzie makra funkcja Mid :)

 

.HasFormula

Sprawdza, czy komórka zawiera formułę, jeżeli tak, zwraca True jeżeli nie zwraca False

 

.Height

Zwraca wysokość komórki (wiersza). Często mylnie próbuje używać tej właściwości do ustalenia wysokości wiersza ale ta właściwość jest read only. Ustawianie wysokości wygląda nieco inaczej

 

.Hidden

Właściwość która pozwala na ukrycie wiersza. Nie da się ukryć samej komórki, można ukryć jedynie wiersz lub kolumnę czyli

 

.Interior

Służy do zarządzania tłem komórki. Najczęściej używam jej do kolorowania, bo kolorowanie nagrane makrem jest za bardzo skomplikowane z nagrania makra kolorowanie wyjdzie nam takie:

 

.Item

Dla większego zakresu zwraca jedną z komórek tego zakresu. Kolejność biegnie przez pierwszy wiersz od lewej do prawej, następnie w drugim wierszu od lewej i prawej itd. Żeby dobrze zobaczyć działanie tej właściwości zanim uruchomisz program prz15, wypełnij zakres komórek od A1 do E1 liczbami od 1 do 5 i komórki od A2 do E2 liczbami od 6 do 10. Dopiero wtedy uruchom poniższy kod

 

.Left

Określa pozycję lewej krawędzi komórki lub kontrolki ActiveX odległość podawana jest w punktach (points) 1 pixel = 0.75 punktu

 

.MergeArea

Zwraca zakres, składający się ze scalonych komórek dzięki temu wiemy gdzie się scalony zakres zaczyna, gdzie się kończy i z ilu składa się komórek

 

.Next

Zwraca następną komórkę po prawej stronie (odpowiednik naciśnięcia TAB) nie następuje zaznaczenie komórki a jedynie jej zwrócenie.

 

.NumberFormat

Właściwość odpowiadająca w Excelu ustawieniu formatowania/wyświetlania wartości w komórce.

 

.Offset

Przesunięcie względem komórki z której offseta stosujemy pierwsza wartość określa przesunięcie dla wierszy a druga dla kolumny czyli

 

.Orientation

Pozwala na ustawienie kierunku tekstu w komórce, mamy do wyboru cztery wartości xlDownward, xlHorizontal, xlUpward, xlVertical

 

.Row

Zwraca wartość wiersza w którym znajduje się komórka. Jeżeli używamy jej nie dla komórki a dla zakresu to zwróci numer pierwszego wiersza w zakresie. Używana często do znajdowania numeru ostatniego wypełnionego wiersza w zakresie.

 

.Rows

Zbiór wszystkich wierszy w zakresie/w arkuszu. Przy współpracy z CurrentRegion może być używane do zwrócenia numeru ostatniego wypełnionego wiersza w zakresie. Tylko przy założeniu, że nasz zakres zaczyna się od pierwszego wiersza.

 

.Top

Zwraca podaną w punktach odległość komórki od górnej krawędzi arkusza.

 

.UseStandardHeight

Pozwala ustawić czy też przywrócić wysokość wiersza do wartości domyślnej/standardowej.

 

.UseStandardWidth

To samo co powyżej tylko że dla kolumny, ustawia jej szerokość na wartość domyślną / standardową.

 

.Value i Value2

Domyślna właściwość obiektu Range. Zwracają lub pozwalają na ustawienie wartości która pojawia się w komórce .Value różni się od .Value2 tym, że jeżeli komórka jest sformatowana jako currency to w .value wartości po przecinku mogą nie być wyświetlane poprawnie (może nam obciąć cyfry po 2 miejscu po przecinku). Z kolei w przypadku daty np. 2000-01-01 właściwość .Value wyświetli ładnie sfotmatowaną datę czyli 2000-01-01 natomiast .value2 liczbę odpowiadającą tej dacie czyli 36526.

 

.WrapText

Właściwość tylko do odczytu. Zwraca prawdę jeżeli tekst w komórce jest zawinięty lub Fałsz jeżeli nie jest :)

 

5. Najbardziej przydatne metody obiektu Range

Tak jak wspominałem jest tego trochę więc, napisałem o tych metodach osobnego posta który znajduje się tutaj :)

 

 

Powrót do:
Blog VBA | Podstawy VBA |


Zobacz też: