Zakres ustawień VBA

Ustaw zakres w Excel VBA

Ustaw zakres w vba oznacza, że ​​określamy dany zakres do kodu lub procedury do wykonania, jeśli nie podamy określonego zakresu do kodu, automatycznie przyjmie zakres z arkusza roboczego, który ma aktywną komórkę, więc jest to bardzo ważne w kod, aby ustawić zmienną zakresu.

Po tylu latach pracy z excelem musieliście zrozumieć, że wszystkie prace, które wykonujemy, znajdują się w arkuszu, aw arkuszach są to komórki zawierające dane. Więc kiedy chcesz bawić się danymi, musisz być wzorcem zachowania komórek w arkuszach roboczych. Więc kiedy wiele komórek jest połączonych, staje się ZAKRESEM. Aby nauczyć się VBA, powinieneś wiedzieć wszystko o komórkach i zakresach. W tym artykule pokażemy, jak szczegółowo ustawić zakres komórek, które mogą być używane do kodowania VBA.

Co to jest obiekt Range?

Zakres w języku VBA jest określany jako obiekt. Zakres może zawierać jedną komórkę, wiele komórek, wiersz lub kolumnę itd.…

W VBA możemy sklasyfikować zakres jak poniżej.

„Aplikacja >>> Skoroszyt >>> Arkusz >>> Zakres”

Najpierw musimy uzyskać dostęp do aplikacji, a następnie w ramach tego musimy odnieść się do skoroszytu, do którego się odnosimy, aw skoroszycie odnosimy się do arkusza roboczego, do którego się odnosimy, a następnie w arkuszu roboczym musimy wspomnieć o zakresie komórek.

Korzystając z Range of cells, możemy wprowadzić wartość do komórki lub komórek, możemy odczytać lub pobrać wartości z komórki lub komórek, możemy usunąć, możemy formatować, a także możemy zrobić wiele innych rzeczy.

Jak uzyskać dostęp do zakresu komórek w Excel VBA?

Możesz pobrać ten szablon VBA Set Range Excel tutaj - VBA Set Range Excel Template

W kodowaniu VBA możemy odwołać się do komórki za pomocą właściwości VBA CELLS i obiektu RANGE. Na przykład, jeśli chcesz odwołać się do komórki A1, najpierw zobaczymy obiekt RANGE.

Wewnątrz podprocedury musimy najpierw otworzyć obiekt RANGE.

Kod:

 Sub Range_Examples () Range (End Sub 

Jak widać powyżej obiekt RANGE z pytaniem do jakiej komórki się odnosimy. Musimy więc wpisać adres komórki w cudzysłowach.

Kod:

 Sub Range_Examples () Range („A1”) End Sub 

Po podaniu adresu komórki musimy zdecydować, co zrobić z tą komórką, używając właściwości i metod. Teraz umieść kropkę, aby zobaczyć właściwości i metody obiektu RANGE.

Jeśli chcemy wstawić wartość do komórki, musimy wybrać właściwość „Wartość”.

Kod:

 Sub Range_Examples () Range („A1”). Value End Sub 

Aby ustawić wartość, musimy umieścić znak równości i wpisać wartość, którą chcemy wstawić do komórki A1.

Kod:

 Sub Range_Examples () Range („A1”). Value = „Excel VBA Class” End Sub 

Uruchom kod za pomocą opcji uruchamiania i zobacz magię w komórce A1.

Jak wspomniano w kodzie, otrzymaliśmy wartość w komórce A1.

Podobnie możemy odwołać się do komórki przy użyciu właściwości CELLS. Otwórz właściwość CELLS i zobacz składnię.

W przeciwieństwie do obiektu RANGE, w którym adres komórki możemy wprowadzić bezpośrednio w cudzysłowie, musimy raczej podać numer wiersza i kolumnę, aby odnieść się do komórki. Ponieważ odnosimy się do komórki A1, możemy powiedzieć, że wiersz to 1, a kolumna to 1.

Po podaniu adresu komórki możemy użyć właściwości i metod do pracy z komórkami. Ale problem polega na tym, że w przeciwieństwie do obiektu range po wstawieniu kropki nie widzimy listy Intellisense.

Musisz więc być ekspertem, aby odwoływać się do komórek za pomocą właściwości CELLS.

Kod:

 Sub CELLS_Examples () Cells (1, 1) .Value = "Klasa Excel VBA" End Sub 

Dostęp do wielu komórek i odniesienie do zakresu ustawień w VBA

Jedną z dużych różnic między CELLS & RANGE jest użycie CELLS, do którego mamy dostęp tylko do jednej komórki, ale za pomocą RANGE możemy również uzyskać dostęp do wielu komórek.

Na przykład dla komórek od A1 do B5, jeśli chcemy mieć wartość 50, możemy napisać kod jak poniżej.

Kod:

 Sub Range_Examples () Range („A1: B5”). Wartość = 50 End Sub 

Spowoduje to wstawienie wartości 50 z komórki A1 do B5.

Zamiast odwoływać się bezpośrednio do komórek, możemy użyć zmiennej do przechowywania referencji do określonych komórek.

Najpierw zdefiniuj zmienną jako obiekt „Zakres”.

Kod:

 Sub Range_Examples () Dim Rng As Range End Sub 

Gdy zmienna zostanie zdefiniowana jako obiekt „Zakres”, musimy ustawić odniesienie do tej zmiennej, dotyczące adresów komórek, do których będą się odwoływać.

Aby ustawić odniesienie, musimy użyć słowa kluczowego „SET” i wprowadzić adresy komórek za pomocą obiektu RANGE.

Kod:

 Sub Range_Examples () Dim Rng As Range Set Rng = Range ("A1: B5") End Sub 

Teraz zmienna „Rng” odnosi się do komórek od A1 do B5.

Zamiast wpisywać zakres adresów komórek („A1: B5”), możemy po prostu użyć nazwy zmiennej „Rng”.

Kod:

 Sub Range_Examples () Dim Rng As Range Set Rng = Range ("A1: B5") Rng.Value = "Range Setting" End Sub 

Teraz spowoduje to wstawienie wspomnianej wartości z komórki A1 do komórki B5.

Załóżmy, że chcesz, aby wybrana komórka była odwołaniem, wtedy możemy ustawić odwołanie w następujący sposób.

Kod:

 Sub Range_Examples () Dim Rng As Range Set Rng = Selection Rng.Value = "Range Setting" End Sub 

Jest to piękna, ponieważ jeśli wybiorę dowolną z komórek i uruchomię, wstawi wartość również do tych komórek.

Na przykład wybiorę określone komórki.

Teraz wykonam kod i zobaczę, co się stanie.

Dla wszystkich zaznaczonych komórek wstawiła wartość.

W ten sposób możemy ustawić odwołanie do zakresu, deklarując zmienne w VBA.

Rzeczy do zapamiętania

  • Zakres może zaznaczyć wiele komórek, ale CELLS może zaznaczyć tylko jedną komórkę naraz.
  • RANGE jest przedmiotem, a CELLS jest własnością.
  • Każda zmienna obiektu powinna mieć odniesienie do obiektu za pomocą słowa kluczowego SET.