Raspon odabira za Excel VBA
Nakon što osnovnu napuni VBA, važno je razumjeti kako raditi s nizom ćelija na radnom listu. Jednom kad započnete s izvršavanjem kodova praktički većinu vremena, morate raditi s nizom stanica, pa je važno razumjeti kako raditi s nizom stanica, a jedan od takvih koncepata je VBA "Izbor raspona". U ovom ćemo vam članku pokazati kako raditi s "Rasponom odabira" u programu Excel VBA.
Odabir i opseg dvije su različite teme, ali kad kažemo da odaberemo opseg ili odaberemo opseg, to je jedan koncept. RANGE je objekt, "Odabir" je svojstvo, a "Select" je metoda. Ljudi se obično miješaju s tim pojmovima. Važno je znati razlike uopće.
![](https://cdn.know-base.net/4830615/vba_selection_range_how_to_select_a_range_in_excel_vba_.jpg.webp)
Kako odabrati raspon u programu Excel VBA?
Primjer # 1
Na primjer, pretpostavimo da tada želite odabrati ćeliju A1 na radnom listu. Prvo, moramo odrediti adresu ćelije pomoću objekta RANGE kao u nastavku.
Kodirati:
![](https://cdn.know-base.net/4830615/vba_selection_range_how_to_select_a_range_in_excel_vba__2.jpg.webp)
Nakon što smo spomenuli ćeliju koju moramo odabrati, stavite točku da biste vidjeli popis IntelliSense koji je povezan s objektom RANGE.
![](https://cdn.know-base.net/4830615/vba_selection_range_how_to_select_a_range_in_excel_vba__3.jpg.webp)
Oblikujte ovu raznolikost popisa, odabire metodu "Select".
Kodirati:
Sub Range_Example1 () Raspon ("A1"). Odaberite End Sub
![](https://cdn.know-base.net/4830615/vba_selection_range_how_to_select_a_range_in_excel_vba__4.jpg.webp)
Sada će ovaj kôd odabrati ćeliju A1 na aktivnom radnom listu.
![](https://cdn.know-base.net/4830615/vba_selection_range_how_to_select_a_range_in_excel_vba_.gif)
Ako želite odabrati ćeliju na različitim radnim listovima, prvo moramo navesti radni list njegovim imenom. Da bismo odredili radni list, trebamo upotrijebiti objekt “WORKSHEET” i unijeti naziv radnog lista u dvostruke navodnike.
Na primjer, ako želite odabrati ćeliju A1 na radnom listu "Data Sheet", tada prvo navedite radni list baš kao u nastavku.
Kodirati:
Sub Range_Example1 () Radni listovi ("Data Sheet") Kraj Sub
Zatim nastavite s kodom kako biste odredili što trebamo učiniti na ovom listu. U "Data Sheetu" moramo odabrati ćeliju A1, tako da će kôd biti RANGE ("A1"). Odaberite.
Kodirati:
Sub Range_Example1 () Radni listovi ("Data Sheet"). Range ("A1"). Odaberite End Sub
Kad pokušate izvršiti ovaj kôd, dobit ćemo donju pogrešku.
![](https://cdn.know-base.net/4830615/vba_selection_range_how_to_select_a_range_in_excel_vba__5.jpg.webp)
Razlog tome je "ne možemo izravno dostaviti objekt raspona i odabrati metodu na objekt radnih listova."
Prvo moramo odabrati ili aktivirati VBA radni list, a zatim možemo raditi sve što smo željeli.
Kodirati:
Sub Range_Example1 () Radni listovi ("List s podacima"). Aktivirajte raspon ("A1"). Odaberite End Sub
Sada ćete odabrati ćeliju A1 u radnom listu "Data Sheet".
![](https://cdn.know-base.net/4830615/vba_selection_range_how_to_select_a_range_in_excel_vba__2.gif)
Primjer # 2 - Rad s trenutnim odabranim rasponom
Odabir je druga stvar, a rad s već odabranim rasponom stanica je različit. Pretpostavimo da u ćeliju A1 želite umetnuti vrijednost "Hello VBA", a to možemo učiniti na dva načina.
Prvo, možemo izravno proslijediti VBA kôd kao RANGE ("A1"). Value = "Hello, VBA."
Kodirati:
Sub Range_Example1 () Raspon ("A1"). Value = "Hello VBA" End Sub
Što će ovaj kod učiniti, to će samo umetnuti vrijednost "Hello VBA" u ćeliju A1, bez obzira na to koja je ćelija trenutno odabrana.
![](https://cdn.know-base.net/4830615/vba_selection_range_how_to_select_a_range_in_excel_vba__3.gif)
Pogledajte gornji rezultat koda. Kada izvršimo ovaj kôd, umetnuo je vrijednost "Pozdrav VBA", iako je trenutno odabrana ćelija B2.
Drugo, vrijednost možemo umetnuti u ćeliju pomoću svojstva "Odabir". Za ovo prvo moramo ručno odabrati ćeliju i izvršiti kod.
Kodirati:
Sub Range_Example1 () Selection.Value = "Hello VBA" Kraj Sub
Što će ovaj kôd učiniti, to će umetnuti vrijednost "Hello VBA" u trenutno odabranu ćeliju. Na primjer, pogledajte donji primjer izvršenja.
![](https://cdn.know-base.net/4830615/vba_selection_range_how_to_select_a_range_in_excel_vba__4.gif)
Kad sam izvršio kôd, trenutna odabrana ćelija mi je bila B2, a naš je kôd ubacio istu vrijednost u trenutno odabranu ćeliju.
Sada ću odabrati ćeliju B3 i izvršiti, tamo ćemo također dobiti istu vrijednost.
![](https://cdn.know-base.net/4830615/vba_selection_range_how_to_select_a_range_in_excel_vba__6.jpg.webp)
Još jedna stvar koju možemo učiniti sa svojstvom "selection" jest da vrijednost možemo umetnuti i u više ćelija. Na primjer, sada ću odabrati raspon ćelija od A1 do B5.
![](https://cdn.know-base.net/4830615/vba_selection_range_how_to_select_a_range_in_excel_vba__7.jpg.webp)
Sada, ako izvršim kod, za sve odabrane ćelije dobit ćemo vrijednost kao "Pozdrav VBA."
![](https://cdn.know-base.net/4830615/vba_selection_range_how_to_select_a_range_in_excel_vba__5.gif)
Dakle, jednostavna razlika između specificiranja adrese ćelije RANGE objektom i svojstva Selection je, u Range objekt kôd će umetnuti vrijednost u ćelije koje su eksplicitno navedene.
Ali u objektu Selection nije važno u kojoj ste se ćeliji. Umetnut će spomenutu vrijednost u sve odabrane ćelije.
Stvari koje treba ovdje zapamtiti
- Ne možemo izravno dostaviti metodu select u svojstvu Selection.
- RANGE je objekt, a odabir je svojstvo.
- Umjesto dometa, možemo koristiti svojstvo CELLS.