Excel VBA objekt raspona
⚡ Pametni sažetak
Objekt raspona u Excelu VBA predstavlja jednu ćeliju ili skupinu ćelija na radnom listu. Ova stranica objašnjava hijerarhiju objekata, svojstva raspona i ćelija, odabir i referenciranje ćelija, čitanje i pisanje vrijednosti te svojstvo pomaka.

Što je VBA Range?
VBA Range Object predstavlja ćeliju ili više ćelija na vašem Excel radnom listu. To je najvažniji objekt programa Excel VBA. Koristeći Excel VBA objekt raspona, možete se pozvati na,
- Jedna ćelija
- Redak ili stupac ćelija
- Izbor ćelija
- 3-D raspon
Kao što smo raspravljali u prethodnom vodiču, VBA se koristi za snimanje i pokretanje MakroAli kako VBA identificira na kojim podacima na listu treba raditi? Tu su korisni VBA Range Objects.
Uvod u referenciranje objekata u VBA
Upućivanje na VBA objekt raspona programa Excel i kvalifikator objekta.
- Kvalifikator objekta: Ovo se koristi za referenciranje objekta. Određuje radnu knjigu ili radni list na koji se pozivate.
Da biste manipulirali ovim vrijednostima ćelija, Nekretnine i Metode se koriste.
- nekretnine: Svojstvo pohranjuje informacije o objektu.
- Metoda: Metoda je radnja objekta koju će izvršiti. Objekt raspona može izvoditi radnje kao što su odabir, kopiranje, brisanje, sortiranje itd.
VBA slijedi obrazac hijerarhije objekata za referenciranje objekta u Excelu. Morate slijediti strukturu u nastavku. Imajte na umu da .točka ovdje povezuje objekt na svakoj od različitih razina.
Aplikacija.Radne bilježnice.Radni listovi.Raspon
Do te hijerarhije može se doći putem dva različita svojstva, a svojstvo Range je ono koje se najčešće koristi.
Kako uputiti na Excel VBA Range Object pomoću svojstva Range
Svojstvo raspona može se primijeniti na dvije različite vrste objekata.
- Objekti radnog lista
- Raspon objekata
Sintaksa za svojstvo raspona
- Ključna riječ "Raspon".
- Zagrade koje slijede iza ključne riječi
- Relevantni raspon ćelija
- Citat (” “)
Application.Workbooks("Book1.xlsm").Worksheets("Sheet1").Range("A1")
Kada referirate na Range objekt, kao što je gore prikazano, on se naziva potpuno kvalificirana referencaExcelu ste točno rekli koji raspon želite, koji list i u kojem radnom listu.
PrimjerPorukaBox Radni listovi("List1"). Raspon("A1"). Vrijednost
Koristeći svojstvo Range, možete izvršiti mnoge zadatke kao što su,
- Pogledajte pojedinačnu ćeliju pomoću svojstva raspona
- Pogledajte jednu ćeliju pomoću svojstva Worksheet.Range
- Odnosi se na cijeli red ili stupac
- Pogledajte spojene ćelije pomoću svojstva Worksheet.Range i još mnogo toga
Kao takav bit će predug za pokrivanje svih scenarija za svojstvo raspona. Za gore navedene scenarije, pokazat ćemo primjer samo za jedan. Pogledajte pojedinačnu ćeliju pomoću svojstva raspona.
Pogledajte jednu ćeliju pomoću svojstva Worksheet.Range
Za pozivanje na jednu ćeliju, proslijedite njezinu adresu svojstvu Range kao tekstualni niz.
Sintaksa je jednostavna “Raspon (“Ćelija”)”.
Ovdje ćemo koristiti naredbu “.Select” za odabir jedne ćelije s lista.
Korak 1) U ovom koraku otvorite Excel.
Korak 2) U ovom koraku
- Kliknite na
tipku. - Otvorit će prozor.
- Ovdje unesite naziv svog programa i kliknite gumb "U redu".
- Odvest će vas do glavne Excel datoteke, s gornjeg izbornika kliknite gumb 'zaustavi' snimanje kako biste zaustavili snimanje makronaredbe.
Korak 3) U sljedećem koraku,
- Kliknite gumb Makro
iz gornjeg izbornika. Otvorit će se prozor ispod. - U ovom prozoru kliknite na gumb 'uredi'.
Korak 4) Gornji korak otvorit će VBA uređivač koda za datoteku pod nazivom „Raspon pojedinačnih ćelija“. Unesite kod kao što je prikazano dolje za odabir raspona „A1“ iz Excel tablice.
Sub SingleCellRange() Range("A1").Select End Sub
Korak 5) Sada spremite datoteku
i pokrenite program kao što je prikazano u nastavku.
Korak 6) Vidjet ćete da je ćelija "A1" odabrana nakon izvođenja programa.
Isto tako, možete odabrati ćeliju s određenim nazivom. Na primjer, ako želite pretražiti ćeliju s nazivom "Guru99- VBA vodič”. Morate pokrenuti naredbu kao što je prikazano u nastavku. Odabrat će ćeliju s tim nazivom.
Raspon("Guru99- VBA vodič“). Odaberite
Za primjenu drugog objekta raspona ovdje je uzorak koda.
| Raspon za odabir ćelije u Excelu | Raspon deklariran |
|---|---|
| Za jedan red | Raspon ("1:1") |
| Za jedan stupac | Raspon („A:A“) |
| Za susjedne ćelije | Raspon ("A1:C5") |
| Za nesusjedne ćelije | Raspon ("A1:C5, F1:F5") |
| Za presjek dvaju raspona | Raspon ("A1:C5 F1:F5") (Za ćeliju presjeka, zapamtite da nema operatora zareza) |
| Za spajanje ćelije | Raspon ("A1:C5") (Za spajanje ćelija upotrijebite naredbu “spoj”) |
Odabir ćelije je samo prvi korak. U praksi, makro čita što ćelija sadrži i zapisuje novu vrijednost.
Kako čitati i pisati vrijednosti pomoću objekta Range
Gotovo svaki makro koji dodirne radni list radi jednu od dvije stvari: čita vrijednost iz ćelije ili je upisuje unutra. Obje prolaze kroz svojstvo Value i nijedna ne zahtijeva da ćelija bude prvo odabrana.
Sub ReadAndWrite() Dim Price As Double Dim Qty As Long ' Read two values out of the sheet Price = Range("B1").Value Qty = Range("B2").Value ' Write the calculated result back Range("B3").Value = Price * Qty ' Fill a whole block in one statement Range("D1:D10").Value = "Guru99" ' Clear only the contents, keeping the formatting Range("F1:F10").ClearContents End Sub
Četiri točke čine ovaj obrazac pouzdanim.
- Odabir nije obavezan: pisanje Raspon("B3"). Vrijednost = 10 je brže i sigurnije od prvog odabira ćelije. Snimljeni makroi su puni .Select jer snimač zrcali radnje miša, a ne zato što je to potrebno kodu.
- Vrijednost u odnosu na tekst: .Value vraća temeljne podatke, dok .Text vraća formatirani niz prikazan na zaslonu, koji se može skratiti za širinu stupca. Čita .Value u izračunima.
- Cijeli blokovi u jednom retku: Dodjeljivanje rasponu od više ćelija popunjava svaku ćeliju odjednom, što je puno brže nego looping.
- Očistite pravu stvar: Naredba ClearContents uklanja samo vrijednosti, Clear uklanja i formatiranje, a Delete uklanja ćelije i pomiče one oko njih.
Raspon adresira ćeliju slovom i brojem. Drugo svojstvo adresira istu ćeliju s dva broja.
Svojstvo ćelije
Slično rasponu, u VBA Također možete koristiti "Svojstvo ćelije". Jedina je razlika što ima svojstvo "item" koje koristite za referenciranje ćelija u proračunskoj tablici. Svojstvo ćelije korisno je u programskoj petlji.
Na primjer,
Cells.item(Redak, Stupac). Oba retka ispod odnose se na ćeliju A1.
- Cells.item(1,1) ILI
- Cells.item(1,”A”)
Razlika između raspona i ćelija u VBA
Raspon i ćelije dosežu iste ćelije radnog lista različitim rutama, a ispravan odabir čini kod kraćim i lakšim za čitanje.
| Točka razlike | Raspon | Stanice |
|---|---|---|
| Format adrese | Tekstualni niz, Raspon("A1") | Dva broja, Ćelije(1, 1) |
| Više ćelija | Da, Raspon („A1:C5“) | Jedna ćelija odjednom |
| Unutar petlje | Potrebno je spajanje stringova | Broj retka može biti brojač petlje |
| čitljivost | Odgovara adresi koju vidite u Excelu | Kolona 27 je teže zamisliti nego AA |
| Kombinirana upotreba | Raspon(Ćelije(1, 1), Ćelije(5, 3)) gradi A1:C5 od brojeva | |
Praktično pravilo je koristiti Range za fiksnu adresu koju možete pročitati na prvi pogled, a Cells kad god se broj retka ili stupca izračunava tijekom izvođenja.
Svojstvo pomaka raspona
Svojstvo pomaka raspona odabrat će retke/stupce dalje od izvornog položaja. Na temelju deklariranog raspona odabiru se ćelije. Pogledajte primjer u nastavku.
Na primjer,
Range("A1").Offset(RowOffset:=1, ColumnOffset:=1).Select
Rezultat za ovo bit će ćelija B2. Svojstvo offset pomaknut će ćeliju A1 za 1 stupac i 1 redak. Vrijednost RowOffset / ColumnOffset možete promijeniti prema potrebi. Možete koristiti negativnu vrijednost (-1) za pomicanje ćelija unatrag.
Preuzmite Excel koji sadrži gornji kod






