Objekt rozsahu Excel VBA
Co je rozsah VBA?
Objekt rozsahu VBA pลedstavuje buลku nebo vรญce bunฤk v listu aplikace Excel. Je to nejdลฏleลพitฤjลกรญ objekt Excel VBA. Pomocรญ objektu rozsahu Excel VBA mลฏลพete odkazovat na,
- Jedna buลka
- ลรกdek nebo sloupec bunฤk
- Vรฝbฤr bunฤk
- 3D rozsah
Jak jsme probrali v naลกem pลedchozรญm tutoriรกlu, VBA se pouลพรญvรก k zรกznamu a spouลกtฤnรญ maker. Ale jak VBA identifikuje, kterรก data z listu je tลeba provรฉst. Zde jsou uลพiteฤnรฉ objekty rozsahu VBA.
รvod do odkazovรกnรญ na objekty ve VBA
Odkazovรกnรญ na objekt rozsahu VBA aplikace Excel a kvalifikรกtor objektu.
- Objektovรฝ kvalifikรกtor: Pouลพรญvรก se pro odkazovรกnรญ na objekt. Urฤuje seลกit nebo list, na kterรฝ odkazujete.
Chcete-li manipulovat s tฤmito hodnotami bunฤk, Nemovitosti a Metody Jsou pouลพรญvรกny.
- Vlastnictvรญ: Vlastnost uklรกdรก informace o objektu.
- Metoda: Metoda je akce objektu, kterรฝ bude provรกdฤt. Objekt rozsahu mลฏลพe provรกdฤt akce, jako je vรฝbฤr, kopรญrovรกnรญ, vymazรกnรญ, tลรญdฤnรญ atd.
VBA se ลรญdรญ vzorem hierarchie objektลฏ a odkazuje na objekt v aplikaci Excel. Musรญte dodrลพet nรกsledujรญcรญ strukturu. Pamatujte, ลพe teฤka zde spojuje objekt na kaลพdรฉ z rลฏznรฝch รบrovnรญ.
Aplikace.Seลกity.Pracovnรญ listy.Rozsah
Existujรญ dva hlavnรญ typy vรฝchozรญch objektลฏ.
Jak odkazovat na objekt rozsahu Excel VBA pomocรญ vlastnosti Range
Vlastnost rozsahu lze pouลพรญt ve dvou rลฏznรฝch typech objektลฏ.
- Objekty listu
- Rozsah objektลฏ
Syntaxe pro vlastnost rozsahu
- Klรญฤovรฉ slovo โRozsahโ.
- Zรกvorky, kterรฉ nรกsledujรญ za klรญฤovรฝm slovem
- Pลรญsluลกnรฝ rozsah bunฤk
- Citรกt (" ")
Application.Workbooks("Book1.xlsm").Worksheets("Sheet1").Range("A1")
Kdyลพ odkazujete na objekt Range, jak je znรกzornฤno vรฝลกe, oznaฤuje se jako plnฤ kvalifikovanรฝ odkaz. Excelu jste pลesnฤ ลekli, jakรฝ rozsah chcete, jakรฝ list a v jakรฉm listu.
Pลรญklad: MsgBox Pracovnรญ list(โlist1โ).Rozsah(โA1โ).Hodnota
Pomocรญ vlastnosti Range mลฏลพete provรกdฤt mnoho รบkolลฏ, jako napล.
- Odkazujte na jednu buลku pomocรญ vlastnosti rozsahu
- Podรญvejte se na jednu buลku pomocรญ vlastnosti Worksheet.Range
- Odkazuje na celรฝ ลรกdek nebo sloupec
- Podรญvejte se na slouฤenรฉ buลky pomocรญ Worksheet.Range Property a mnoha dalลกรญch
Proto bude pลรญliลก zdlouhavรฉ na pokrytรญ vลกech scรฉnรกลลฏ pro vlastnost rozsahu. Pro scรฉnรกลe uvedenรฉ vรฝลกe uvedeme pลรญklad pouze pro jeden. Odkazujte na jednu buลku pomocรญ vlastnosti rozsahu.
Podรญvejte se na jednu buลku pomocรญ vlastnosti Worksheet.Range
Chcete-li odkazovat na jednu buลku, musรญte odkazovat na jednu buลku.
Syntaxe je jednoduchรก "Rozsah ("Buลka")".
Zde pouลพijeme pลรญkaz โ.Selectโ pro vรฝbฤr jednรฉ buลky z listu.
Krok 1) V tomto kroku otevลete svลฏj excel.
Krok 2) V tomto kroku,
- Kliknฤte na
.
- Otevลe se okno.
- Zde zadejte nรกzev programu a kliknฤte na tlaฤรญtko 'OK'.
- Dostanete se do hlavnรญho souboru aplikace Excel, z hornรญ nabรญdky kliknฤte na tlaฤรญtko 'stop' zรกznam pro zastavenรญ zรกznamu makra.
Krok 3) V dalลกรญm kroku
- Kliknฤte na tlaฤรญtko Makro
z hornรญho menu. Otevลe se okno nรญลพe.
- V tomto oknฤ kliknฤte na tlaฤรญtko 'upravit'.
Krok 4) Vรฝลกe uvedenรฝ krok otevลe editor kรณdu VBA pro nรกzev souboru โSingle Cell Rangeโ. Zadejte kรณd, jak je uvedeno nรญลพe, pro vรฝbฤr rozsahu โA1โ z excelu.
Krok 5) Nynรญ soubor uloลพte a spusลฅte program, jak je uvedeno nรญลพe.
Krok 6) Po spuลกtฤnรญ programu uvidรญte, ลพe je vybrรกna buลka โA1โ.
Stejnฤ tak mลฏลพete vybrat buลku s konkrรฉtnรญm nรกzvem. Napลรญklad pokud chcete vyhledat buลku s nรกzvem โGuru99- Vรฝukovรฝ program VBAโ. Pลรญkaz musรญte spustit, jak je znรกzornฤno nรญลพe. Vybere buลku s tรญmto nรกzvem.
Rozsah("Guru99- Vรฝukovรฝ program VBAโ). Vyberte
Chcete-li pouลพรญt jinรฝ objekt rozsahu, zde je ukรกzka kรณdu.
| Rozsah pro vรฝbฤr buลky v Excelu | Rozsah deklarovรกn |
|---|---|
| Pro jednu ลadu | Rozsah (โ1:1โ) |
| Pro jeden sloupec | Rozsah (โA: Aโ) |
| Pro souvislรฉ buลky | Rozsah (โA1:C5โ) |
| Pro nesousedรญcรญ buลky | Rozsah (โA1:C5, F1:F5โ) |
| Pro prลฏnik dvou rozsahลฏ | Rozsah (โA1:C5 F1:F5โ)
(Pro buลku kลiลพovatky nezapomeลte, ลพe neexistuje ลพรกdnรฝ operรกtor ฤรกrky) |
| Chcete-li slouฤit Cell | Rozsah (โA1:C5โ)
(Chcete-li slouฤit buลku, pouลพijte pลรญkaz โslouฤitโ) |
Vlastnost buลky
Podobnฤ jako rozsah, in VBA mลฏลพete takรฉ โMajetek buลkyโ. Jedinรฝ rozdรญl je v tom, ลพe mรก vlastnost โitemโ, kterou pouลพรญvรกte k odkazovรกnรญ na buลky v tabulce. Vlastnost buลky je uลพiteฤnรก v programovacรญ smyฤce.
Napลรญklad,
Cells.item(ลรกdek, Sloupec). Oba ลรกdky nรญลพe odkazujรญ na buลku A1.
- Cells.item(1,1) NEBO
- Cells.item(1,โAโ)
Vlastnost Range Offset
Vlastnost posunu rozsahu vybere ลรกdky/sloupce mimo pลฏvodnรญ polohu. Na zรกkladฤ deklarovanรฉho rozsahu se vybรญrajรญ buลky. Viz pลรญklad nรญลพe.
Napลรญklad,
Range("A1").offset(Rowoffset:=1, Columnoffset:=1).Select
Vรฝsledkem bude buลka B2. Vlastnost offset pลesune buลku A1 o 1 sloupec a 1 ลรกdek pryฤ. Hodnotu rowoffset / columnoffset mลฏลพete zmฤnit podle potลeby. K posunutรญ bunฤk zpฤt mลฏลพete pouลพรญt zรกpornou hodnotu (-1).
Stรกhnฤte si Excel obsahujรญcรญ vรฝลกe uvedenรฝ kรณd
Stรกhnฤte si vรฝลกe uvedenรฝ Excel Code
Shrnutรญ
- Objekt rozsahu VBA pลedstavuje buลku nebo vรญce bunฤk v listu aplikace Excel
- Jedna buลka
- ลรกdek nebo sloupec bunฤk
- Vรฝbฤr bunฤk
- 3D rozsah
- Chcete-li manipulovat s hodnotami bunฤk, Nemovitosti a Metody se pouลพรญvajรญ
- Vlastnost uklรกdรก informace o objektu
- Metoda je akce objektu, kterรฝ bude provรกdฤt, jako je vรฝbฤr, slouฤenรญ, tลรญdฤnรญ atd.
- VBA se ลรญdรญ vzorem hierarchie objektลฏ a odkazuje na objekt v aplikaci Excel pomocรญ operรกtoru .dot
- Vlastnost rozsahu lze pouลพรญt ve dvou rลฏznรฝch typech objektลฏ
- Objekty listu
- Rozsah objektลฏ






