Obiekt zakresu Excel VBA

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ล‚ywaฤ‡ siฤ™ do:

  • Pojedyncza komรณrka
  • Wiersz lub kolumna komรณrek
  • Wybรณr komรณrek
  • Seria 3D

Jak omรณwiliล›my w naszym poprzednim samouczku, ten jฤ™zyk VBA sล‚uลผy do rejestrowania i uruchamiania makr. Ale w jaki sposรณb VBA identyfikuje, jakie dane z arkusza naleลผy wykonaฤ‡. W tym miejscu przydatne sฤ… obiekty zakresu VBA.

Wprowadzenie do odwoล‚ywania siฤ™ do obiektรณw w VBA

Odwoล‚ywanie siฤ™ 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, do ktรณrego siฤ™ odwoล‚ujesz.

Aby manipulowaฤ‡ wartoล›ciami komรณrek, Wล‚aล›ciwoล›ci oraz Metody sฤ… uลผywane.

  • Nieruchomoล›ฤ‡: Wล‚aล›ciwoล›ฤ‡ przechowuje informacje o obiekcie.
  • Metoda: Metoda to akcja obiektu, ktรณrฤ… wykona. Obiekt Range moลผe wykonywaฤ‡ akcje, takie jak zaznaczanie, kopiowanie, czyszczenie, sortowanie itp.

VBA stosuje wzorzec hierarchii obiektรณw, aby odwoล‚ywaฤ‡ siฤ™ do obiektรณw w programie Excel. Musisz postฤ™powaฤ‡ zgodnie z nastฤ™pujฤ…cฤ… strukturฤ…. Pamiฤ™taj, ลผe kropka powyลผej ล‚ฤ…czy obiekt na kaลผdym z rรณลผnych poziomรณw.

Aplikacja. Skoroszyty. Arkusze ฤ‡wiczeล„. Zakres

Istniejฤ… dwa gล‚รณwne typy obiektรณw domyล›lnych.

Jak odwoล‚ywaฤ‡ siฤ™ do obiektu zakresu Excel VBA za pomocฤ… wล‚aล›ciwoล›ci Range

Wล‚aล›ciwoล›ฤ‡ Range moลผna zastosowaฤ‡ w dwรณch rรณลผnych typach obiektรณw.

  • Obiekty arkusza
  • Obiekty zasiฤ™gu

Skล‚adnia wล‚aล›ciwoล›ci zakresu

  1. Sล‚owo kluczowe โ€žZakresโ€.
  2. Nawiasy nastฤ™pujฤ…ce po sล‚owie kluczowym
  3. Odpowiedni zakres komรณrek
  4. Cytat (" ")
Application.Workbooks("Book1.xlsm").Worksheets("Sheet1").Range("A1")

Kiedy odwoล‚ujesz siฤ™ do obiektu Range, jak pokazano powyลผej, nazywa siฤ™ go w peล‚ni kwalifikowane referencje. Powiedziaล‚eล› Excelowi dokล‚adnie, jakiego zakresu chcesz, w jakim arkuszu i w jakim arkuszu.

Przykล‚ad: Wiadomoล›ฤ‡Box Arkusz(โ€œarkusz1โ€).Zakres(โ€œA1โ€).Wartoล›ฤ‡

Korzystajฤ…c z wล‚aล›ciwoล›ci Range, moลผesz wykonywaฤ‡ wiele zadaล„, takich jak:

  • Zapoznaj siฤ™ z wล‚aล›ciwoล›ciฤ… Pojedyncza komรณrka uลผywajฤ…ca zakresu
  • Odwoล‚aj siฤ™ do pojedynczej komรณrki, korzystajฤ…c z wล‚aล›ciwoล›ci Worksheet.Range
  • Odwoล‚aj siฤ™ do caล‚ego wiersza lub kolumny
  • Odwoล‚aj siฤ™ do poล‚ฤ…czonych komรณrek, korzystajฤ…c z wล‚aล›ciwoล›ci Worksheet.Range i wielu innych

W zwiฤ…zku z tym omรณwienie wszystkich scenariuszy dotyczฤ…cych wล‚aล›ciwoล›ci zakresu bฤ™dzie zbyt dล‚ugie. Dla scenariuszy wymienionych powyลผej zademonstrujemy przykล‚ad tylko dla jednego. Zapoznaj siฤ™ z wล‚aล›ciwoล›ciฤ… Pojedyncza komรณrka uลผywajฤ…ca zakresu.

Odwoล‚aj siฤ™ do pojedynczej komรณrki, korzystajฤ…c z wล‚aล›ciwoล›ci Worksheet.Range

Aby odwoล‚aฤ‡ 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 Excel.

Pojedyncza komรณrka przy uลผyciu wล‚aล›ciwoล›ci Worksheet.Range

Krok 2) W tym etapie,

  • Kliknij na Pojedyncza komรณrka przy uลผyciu wล‚aล›ciwoล›ci Worksheet.Range przycisk.
  • Otworzy okno.
  • Wpisz tutaj nazwฤ™ swojego programu i kliknij przycisk โ€žOKโ€.
  • Przeniesie Ciฤ™ do gล‚รณwnego pliku Excel, w gรณrnym menu kliknij przycisk โ€žzatrzymajโ€ nagrywanie, aby zatrzymaฤ‡ nagrywanie makra.

Pojedyncza komรณrka przy uลผyciu wล‚aล›ciwoล›ci Worksheet.Range

Krok 3) W nastฤ™pnym kroku

  • Kliknij przycisk Makro Pojedyncza komรณrka przy uลผyciu wล‚aล›ciwoล›ci Worksheet.Range z gรณrnego menu. Otworzy siฤ™ okno poniลผej.
  • W tym oknie kliknij przycisk โ€žedytujโ€.

Pojedyncza komรณrka przy uลผyciu wล‚aล›ciwoล›ci Worksheet.Range

Krok 4) Powyลผszy krok otworzy edytor kodu VBA dla nazwy pliku โ€žSingle Cell Rangeโ€. Wprowadลบ kod jak pokazano poniลผej, aby wybraฤ‡ zakres โ€žA1โ€ z Excela.

Pojedyncza komรณrka przy uลผyciu wล‚aล›ciwoล›ci Worksheet.Range

Krok 5) Teraz zapisz plik Pojedyncza komรณrka przy uลผyciu wล‚aล›ciwoล›ci Worksheet.Range i uruchom program jak pokazano poniลผej.

Pojedyncza komรณrka przy uลผyciu wล‚aล›ciwoล›ci Worksheet.Range

Krok 6) Po wykonaniu programu zobaczysz, ลผe komรณrka โ€žA1โ€ zostaล‚a wybrana.

Pojedyncza komรณrka przy uลผyciu wล‚aล›ciwoล›ci Worksheet.Range

Podobnie moลผesz wybraฤ‡ komรณrkฤ™ o okreล›lonej nazwie. Na przykล‚ad, jeล›li chcesz wyszukaฤ‡ komรณrkฤ™ o nazwie โ€žGuru99- Samouczek VBAโ€. Musisz uruchomiฤ‡ polecenie, jak pokazano poniลผej. Zaznaczy ono komรณrkฤ™ o tej nazwie.

Zakres("Guru99- Samouczek VBAโ€).Wybierz

Aby zastosowaฤ‡ inny obiekt zakresu, tutaj znajduje siฤ™ przykล‚adowy kod.

Zakres zaznaczania komรณrki w programie Excel Zadeklarowany zakres
Dla pojedynczego wiersza Zakres (โ€ž1:1โ€)
Dla pojedynczej kolumny Zakres (โ€žA: Aโ€)
Dla sฤ…siadujฤ…cych komรณrek Zakres(โ€œA1:C5โ€)
Dla komรณrek nie sฤ…siadujฤ…cych Zakres(โ€œA1:C5, F1:F5โ€)
Dla przeciฤ™cia dwรณch zakresรณw Zakres(โ€œA1:C5 F1:F5โ€)

(Pamiฤ™taj, ลผe w przypadku komรณrki przeciฤ™cia nie ma operatora przecinka)

Aby poล‚ฤ…czyฤ‡ komรณrkฤ™ Zakres(โ€œA1:C5โ€)

(Aby poล‚ฤ…czyฤ‡ komรณrki, uลผyj polecenia โ€žscalโ€)

Wล‚aล›ciwoล›ฤ‡ komรณrki

Podobnie jak zakres, w VBA moลผesz takลผe โ€žWล‚aล›ciwoล›ฤ‡ komรณrkiโ€. Jedyna rรณลผnica polega na tym, ลผe ma wล‚aล›ciwoล›ฤ‡ โ€želementโ€, ktรณrej uลผywasz do odwoล‚ywania siฤ™ do komรณrek w arkuszu kalkulacyjnym. Wล‚aล›ciwoล›ฤ‡ komรณrki jest przydatna w pฤ™tli programistycznej.

Na przykล‚ad,

Cells.item(wiersz, kolumna). Obie linie poniลผej odnoszฤ… siฤ™ do komรณrki A1.

  • Komรณrki.item(1,1) LUB
  • Komรณrki.item(1,โ€Aโ€)

Wล‚aล›ciwoล›ฤ‡ przesuniฤ™cia zakresu

Wล‚aล›ciwoล›ฤ‡ przesuniฤ™cia zakresu wybierze wiersze/kolumny z dala od ich pierwotnej pozycji. Na podstawie zadeklarowanego zakresu wybierane sฤ… komรณrki. 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 przesunie komรณrkฤ™ A1 do 1 kolumny i 1 wiersza dalej. Moลผesz zmieniฤ‡ wartoล›ฤ‡ przesuniฤ™cia wierszy/kolumny zgodnie z wymaganiami. Moลผesz uลผyฤ‡ wartoล›ci ujemnej (-1), aby przesunฤ…ฤ‡ komรณrki do tyล‚u.

Pobierz Excel zawierajฤ…cy powyลผszy kod

Pobierz powyลผszy plik Excel Code

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
  • Seria 3D
  • Aby manipulowaฤ‡ wartoล›ciami komรณrek, Wล‚aล›ciwoล›ci oraz Metody sฤ… uลผywane
  • Wล‚aล›ciwoล›ฤ‡ przechowuje informacje o obiekcie
  • Metoda to akcja obiektu, ktรณrฤ… bฤ™dzie wykonywaฤ‡, taka jak wybieranie, scalanie, sortowanie itp.
  • Wzorzec hierarchii obiektรณw jฤ™zyka VBA umoลผliwia odwoล‚anie 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
  • Obiekty zasiฤ™gu

Podsumuj ten post nastฤ™pujฤ…co: