Co to jest zakres VBA?
Obiekt zakresu VBA reprezentuje komórkę lub wiele komórek w arkuszu programu Excel. Jest to najważniejszy obiekt Excel VBA. Korzystając z obiektu zakresu Excel VBA, możesz odwołać się do,
- Pojedyncza komórka
- Wiersz lub kolumna komórek
- Wybór komórek
- Zakres trójwymiarowy
Jak omówiliśmy w naszym poprzednim samouczku, ten język VBA jest używany do rejestrowania i uruchamiania makra. Ale w jaki sposób VBA identyfikuje, jakie dane z arkusza należy wykonać. W tym miejscu przydatne są obiekty zakresu VBA.
W tym samouczku nauczysz się:
- Wprowadzenie do odwoływania się do obiektów w VBA
- Odwołaj się do pojedynczej komórki za pomocą właściwości Worksheet.Range
- Właściwość komórki
- Właściwość Range Offset
Wprowadzenie do odwoływania się do obiektów w VBA
Odwołanie do obiektu zakresu VBA programu Excel i kwalifikatora obiektu.
- Kwalifikator obiektu : służy do odwoływania się do obiektu. Określa skoroszyt lub arkusz roboczy, do którego się odnosisz.
Aby manipulować tymi wartościami komórek, używane są Właściwości i Metody .
- Właściwość: właściwość przechowuje informacje o obiekcie.
- Metoda: Metoda to działanie obiektu, które wykona. Obiekt Range może wykonywać akcje, takie jak zaznaczone, skopiowane, wyczyszczone, posortowane itp.
VBA podąża za wzorcem hierarchii obiektów, aby odnieść się do obiektu w programie Excel. Musisz przestrzegać następującej struktury. Pamiętaj, że kropka łączy obiekt na każdym z różnych poziomów.
Application.Workbooks.Worksheets.Range
Istnieją dwa główne typy obiektów domyślnych.
Jak odnosić się do obiektu zakresu Excel VBA przy użyciu właściwości Range
Właściwość Range można zastosować w dwóch różnych typach obiektów.
- Obiekty arkusza roboczego
- Range Objects
Składnia właściwości zakresu
- Słowo kluczowe „Zakres”.
- Nawiasy po słowie kluczowym
- Odpowiedni zakres komórek
- Cytat (" ")
Application.Workbooks("Book1.xlsm").Worksheets("Sheet1").Range("A1")
Gdy odwołujesz się do obiektu Range, jak pokazano powyżej, jest on określany jako w pełni kwalifikowane odniesienie . Poinformowałeś Excela dokładnie, jaki zakres chcesz, w jakim arkuszu iw jakim arkuszu.
Przykład : Arkusz MsgBox („arkusz1”). Zakres („A1”). Wartość
Korzystając z właściwości Range, możesz wykonywać wiele zadań, takich jak:
- Odwołaj się do pojedynczej komórki przy użyciu właściwości zakresu
- Odwołaj się do pojedynczej komórki za pomocą właściwości Worksheet.Range
- Odwołaj się do całego wiersza lub kolumny
- Zobacz scalone komórki za pomocą Worksheet.Range Property i wielu innych
W związku z tym uwzględnienie wszystkich scenariuszy właściwości zakresu będzie zbyt długie. W przypadku wspomnianych powyżej scenariuszy pokażemy przykład tylko dla jednego. Odwołaj się do pojedynczej komórki przy użyciu właściwości zakresu.
Odwołaj się do pojedynczej komórki za pomocą właściwości Worksheet.Range
Aby odnieść się do pojedynczej komórki, musisz odwołać się do pojedynczej komórki.
Składnia jest prosta „Zakres („ Komórka ”)”.
Tutaj użyjemy polecenia ".Select", aby wybrać pojedynczą komórkę z arkusza.
Krok 1) W tym kroku otwórz swój plik Excel.
Krok 2) Na tym etapie
- Kliknij przycisk.
- Otworzy się okno.
- Wpisz tutaj nazwę swojego programu i kliknij przycisk „OK”.
- Zostaniesz przeniesiony do głównego pliku Excel, z górnego menu kliknij przycisk „stop” nagrywania, aby zatrzymać nagrywanie makra.
Krok 3) W następnym kroku
- Kliknij przycisk Makro z górnego menu. Otworzy się okno poniżej.
- W tym oknie kliknij przycisk „edytuj”.
Krok 4) Powyższy krok spowoduje otwarcie edytora kodu VBA dla nazwy pliku „Zakres pojedynczej komórki”. Wprowadź kod, jak pokazano poniżej, aby wybrać zakres „A1” z programu Excel.
Krok 5) Teraz zapisz plik i uruchom program, jak pokazano poniżej.
Krok 6) Po wykonaniu programu zobaczysz komórkę „A1”.
Podobnie możesz wybrać komórkę o określonej nazwie. Na przykład, jeśli chcesz wyszukać komórkę o nazwie „Guru99-VBA Tutorial”. Musisz uruchomić polecenie, jak pokazano poniżej. Wybierze komórkę o tej nazwie.
Zakres („Guru99- Samouczek VBA”). Wybierz
Aby zastosować inny obiekt zakresu, oto przykład kodu.
Zakres wyboru komórki w programie Excel | Zadeklarowany zakres |
Dla pojedynczego rzędu | Zakres („1: 1”) |
Dla pojedynczej kolumny | Zakres („A: A”) |
W przypadku ciągłych komórek | Zakres („A1: C5”) |
Dla nieciągłych komórek | Zakres („A1: C5, F1: F5”) |
Do przecięcia dwóch zakresów | Zakres („A1: C5 F1: F5”) (w przypadku komórki ze skrzyżowaniem pamiętaj, że nie ma operatora przecinka) |
Aby scalić Cell | Zakres („A1: C5”) (aby scalić komórkę, użyj polecenia „scal”) |
Właściwość komórki
Podobnie jak w przypadku zakresu, w VBA możesz także wybrać "Właściwości komórki". Jedyną różnicą jest to, że ma właściwość „item”, której używasz do odwoływania się do komórek w arkuszu kalkulacyjnym. Właściwość Cell jest przydatna w pętli programowania.
Na przykład,
Cells.item (wiersz, kolumna). Obie poniższe linie odnoszą się do komórki A1.
- Cells.item (1,1) LUB
- Cells.item (1, „A”)
Właściwość Range Offset
Właściwość Range offset wybierze wiersze / kolumny z dala od pierwotnej pozycji. Na podstawie zadeklarowanego zakresu komórki są wybierane. Zobacz przykład poniżej.
Na przykład,
Range("A1").offset(Rowoffset:=1, Columnoffset:=1).Select
Wynikiem tego będzie komórka B2. Właściwość offset przeniesie komórkę A1 do 1 kolumny i 1 wiersza dalej. Możesz zmienić wartość przesunięcia wiersza / przesunięcia kolumny zgodnie z wymaganiami. Możesz użyć wartości ujemnej (-1), aby przenieść komórki do tyłu.
Pobierz Excel zawierający powyższy kod
Pobierz powyższy kod programu Excel
Podsumowanie :
- Obiekt zakresu VBA reprezentuje komórkę lub wiele komórek w arkuszu programu Excel
- Pojedyncza komórka
- Wiersz lub kolumna komórek
- Wybór komórek
- Zakres trójwymiarowy
- Aby manipulować wartościami komórek, używane są Właściwości i Metody
- Właściwość przechowuje informacje o obiekcie
- Metoda to działanie obiektu, które wykona, takie jak wybieranie, scalanie, sortowanie itp.
- VBA podąża za wzorcem hierarchii obiektów, aby odnieść się do obiektu w programie Excel za pomocą operatora .dot
- Właściwość Range można zastosować w dwóch różnych typach obiektów
- Obiekty arkusza roboczego
- Range Objects