VBA atlases diapazons | Kā atlasīt diapazonu programmā Excel VBA?

Excel VBA atlases diapazons

Pēc pamatdatiem ar VBA ir svarīgi saprast, kā darblapā strādāt ar virkni šūnu. Kad sākat izpildīt kodus, praktiski lielāko daļu laika jums jāstrādā ar šūnu diapazonu. Tātad, ir svarīgi saprast, kā strādāt ar šūnu diapazonu, un viens no šādiem jēdzieniem ir VBA “Diapazona izvēle”. Šajā rakstā mēs parādīsim, kā strādāt ar Excel VBA “Atlases diapazonu”.

Atlase un diapazons ir divas dažādas tēmas, bet, kad mēs sakām, lai izvēlētos diapazonu vai diapazona izvēli, tas ir viens jēdziens. RANGE ir objekts, “Selection” ir īpašums un “Select” ir metode. Cilvēki mēdz jaukt ar šiem terminiem, ir svarīgi zināt atšķirības kopumā.

Kā atlasīt diapazonu programmā Excel VBA?

Šo VBA atlases diapazona Excel veidni varat lejupielādēt šeit - VBA atlases diapazona Excel veidne

1. piemērs

Piemēram, pieņemsim, ka darblapā vēlaties atlasīt šūnu A1, tad vispirms mums jānorāda šūnas adrese, izmantojot objektu RANGE, piemēram, zemāk.

Kods:

Pēc šūnas pieminēšanas, kas mums jāizvēlas, ielieciet punktu, lai redzētu IntelliSense sarakstu, kas ir saistīts ar objektu RANGE.

Veidojot šo sarakstu dažādību, tiek izvēlēta metode “Atlasīt”.

Kods:

 Apakš diapazons_Piemērs1 () Diapazons ("A1"). Atlasiet Beigu apakšdaļa 

Tagad šis kods aktīvajā darblapā atlasīs šūnu A1.

Ja vēlaties atlasīt šūnu dažādās darblapās, vispirms mums jānorāda darblapa pēc tās nosaukuma. Lai norādītu darblapu, mums jāizmanto objekts “WORKSHEET” un darblapas nosaukums jāievada pēdiņās.

Piemēram, ja darblapā “Data Sheet” vēlaties atlasīt šūnu A1, vispirms vispirms norādiet darblapu tāpat kā zemāk.

Kods:

 Apakšgrupas_piemērs1 () darblapas ("Datu lapa") Beigu apakšgrupa 

Pēc tam turpiniet kodu, lai norādītu, kas mums jādara šajā lapā. Sadaļā “Datu lapa” mums jāizvēlas šūna A1, tāpēc kods būs RANGE (“A1”). Atlasiet.

Kods:

 Sub Range_Example1 () darblapas ("Data Sheet"). Diapazons ("A1"). Atlasiet End Sub 

Mēģinot izpildīt šo kodu, tiks parādīta kļūda.

Iemesls tam ir "mēs nevaram tieši piegādāt diapazona objektu un atlasīt metodi darblapu objektam".

Pirmkārt, mums jāizvēlas vai jāaktivizē VBA darblapa, pēc tam mēs varam darīt visu, ko vēlējāmies.

Kods:

 Sub Range_Example1 () darblapas ("Data Sheet"). Aktivizējiet Range ("A1"). Atlasiet End Sub 

Tagad darblapā “Data Sheet” tiks atlasīta šūna A1.

2. piemērs - Darbs ar pašreizējo atlasīto diapazonu

Atlasīt ir atšķirīga lieta, un darbs ar jau izvēlēto šūnu diapazonu ir atšķirīgs. Pieņemsim, ka vēlaties ievietot vērtību “Hello VBA” šūnā A1, tad mēs to varam izdarīt divos veidos.

Pirmkārt, mēs varam tieši nodot VBA kodu kā RANGE (“A1”). Vērtība = “Hello VBA”.

Kods:

 Apakšgrupa_piemērs1 () Diapazons ("A1"). Vērtība = "Sveiki, VBA" beigu apakšgrupa 

Ko šis kods darīs, tas vienkārši ievietos vērtību “Hello VBA” šūnā A1 neatkarīgi no tā, kura šūna pašlaik ir atlasīta.

Apskatiet iepriekš minēto koda rezultātu. Kad mēs izpildām šo kodu, tajā ir ievietota vērtība “Hello VBA”, kaut arī pašlaik atlasītā šūna ir B2.

Otrkārt, mēs varam ievietot vērtību šūnā, izmantojot rekvizītu “Selection”. Lai to izdarītu, vispirms mums ir jāizvēlas šūna manuāli un jāizpilda kods.

Kods:

 Apakšgrupas_piemērs1 () Selection.Value = "Sveiki, VBA" beigu apakšgrupa 

Tas, ko šis kods darīs, būs tas, ka pašlaik atlasītajā šūnā tiks ievietota vērtība “Hello VBA”. Piemēru apskatiet zemāk redzamajā izpildes piemērā.

Kad es izpildīju kodu, pašreizējā atlasītā šūna bija B2, un mūsu kods to pašu vērtību ievietoja pašlaik atlasītajā šūnā.

Tagad es atlasīšu šūnu B3 un izpildīšu, tur arī mēs iegūsim to pašu vērtību.

Vēl viena lieta, ko mēs varam darīt ar “atlases” rekvizītu, ir tā, ka mēs varam ievietot vērtību arī vairākām šūnām. Piemēram, es tagad atlasīšu šūnu diapazonu no A1 līdz B5.

Ja es izpildīšu kodu, visām atlasītajām šūnām vērtība būs “Hello VBA”.

Tātad vienkāršā atšķirība starp šūnas adreses norādīšanu pēc objekta RANGE un rekvizīta Selection ir tā, ka objekta Range diapazonā tiks ievietota vērtība tieši norādītajām šūnām.

Bet objektā Selection nav svarīgi, kurā šūnā atrodaties, tas ievietos minēto vērtību visās atlasītajās šūnās.

Lietas, kuras šeit jāatceras

  • Zem atlases rekvizīta atlasīto metodi mēs nevaram tieši piegādāt.
  • RANGE ir objekts, un atlase ir īpašums.
  • Diapazona vietā mēs varam izmantot CELLS īpašumu.