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.

  • 🎯 Definicija: Objekt Raspon pokazuje na jednu ćeliju, redak, stupac, odabir ili 3D raspon.
  • 🧬 Hijerarhija: Potpuno kvalificirana referenca glasi Aplikacija, Radne knjige, Radni listovi, a zatim Raspon.
  • 🏷️ Svojstva i metode: Svojstvo pohranjuje informacije o objektu, a metoda izvršava radnju kao što je Odaberi ili Spoji.
  • 🔢 Svojstvo ćelija: Cells(Row, Column) adresira ćeliju po broju, što odgovara programskoj petlji.
  • ✍️ Čitanje i pisanje: Svojstvo Value dohvaća sadržaj ćelije i zapisuje novi sadržaj natrag.
  • ↔️ Pomaknuta imovina: Operacija Offset pomiče referencu za određeni broj redaka i stupaca od početne ćelije.

Excel VBA objekt raspona

Š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

  1. Ključna riječ "Raspon".
  2. Zagrade koje slijede iza ključne riječi
  3. Relevantni raspon ćelija
  4. 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.

Jedna ćelija pomoću svojstva Worksheet.Range

Korak 2) U ovom koraku

  • Kliknite na Jedna ćelija pomoću svojstva Worksheet.Range 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.

Jedna ćelija pomoću svojstva Worksheet.Range

Korak 3) U sljedećem koraku,

  • Kliknite gumb Makro Jedna ćelija pomoću svojstva Worksheet.Range iz gornjeg izbornika. Otvorit će se prozor ispod.
  • U ovom prozoru kliknite na gumb 'uredi'.

Jedna ćelija pomoću svojstva Worksheet.Range

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

Jedna ćelija pomoću svojstva Worksheet.Range

Korak 5) Sada spremite datoteku Jedna ćelija pomoću svojstva Worksheet.Range i pokrenite program kao što je prikazano u nastavku.

Jedna ćelija pomoću svojstva Worksheet.Range

Korak 6) Vidjet ćete da je ćelija "A1" odabrana nakon izvođenja programa.

Jedna ćelija pomoću svojstva Worksheet.Range

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

Preuzmite gornji Excel Code

Pitanja i odgovori

Koristite Cells(Rows.Count, 1).End(xlUp).Row. Počinje na dnu stupca A i skače do posljednje ćelije koja sadrži podatke, što je pouzdanije od UsedRange nakon što su retci izbrisani.

Svako čitanje ili pisanje prelazi između VBA i Excela. Učitajte raspon u polje s jednom dodjelom, obradite polje u memoriji, a zatim ga zapišite natrag u jednoj naredbi. Isključivanje ScreenUpdatinga također pomaže.

Obično nevažeća adresa, naziv lista koji ne postoji ili pokušaj odabira raspona na radnom listu koji nije aktivan. Kvalificirajte referencu s listom ili prvo aktivirajte list.

Da. Zalijepite snimljeni kod i AI asistent zamjenjuje svaki par Select i Selection izravnom, potpuno kvalificiranom referencom Range. Pokrenite obje verzije na kopiji i usporedite list prije nego što ga zadržite.ping promjena.

Da. Opišite cilj, kao što je svaki ispunjeni redak u stupcima od A do D na podatkovnom listu, a AI asistent vraća odgovarajući izraz raspona. Provjerite ga na malom uzorku prije nego što ga pokrenete na podacima uživo.

Sažmite ovu objavu uz: