Kot veste, metoda VBA izvede dejanje v Excelu 2016. Objekt Range ima na desetine metod, vendar večine teh ne boste potrebovali. Tukaj najdete nekaj najpogosteje uporabljenih metod objekta Range.
Metoda Izbira
Z metodo Select izberite obseg celic. Naslednji stavek izbere obseg na aktivnem delovnem listu:
Obseg(»A1:C12«).Izberite
Preden izberete obseg, je pogosto dobro uporabiti en dodaten stavek, da zagotovite, da je pravilen delovni list aktiven. Na primer, če Sheet1 vsebuje obseg, ki ga želite izbrati, uporabite naslednje stavke, da izberete obseg:
Listi(»Sheet1«). Aktivirajte
Obseg(»A1:C12«).Izberite
V nasprotju s tem, kar lahko pričakujete, naslednji stavek ustvari napako, če Sheet1 še ni aktiven list. Z drugimi besedami, namesto enega morate uporabiti dva stavka: enega za aktiviranje lista in drugega za izbiro obsega.
Listi(»List1«).Razpon (»A1:C12«).Izberi
Če za izbiro obsega uporabite metodo GoTo predmeta Application, lahko najprej pozabite izbrati pravi delovni list. Ta stavek aktivira Sheet1 in nato izbere obseg:
Application.Goto Sheets(»Sheet1«).Range(»A1:C12«)
Metoda GoTo je enakovredna VBA pritiskanju F5 v Excelu, ki prikaže pogovorno okno GoTo.
Metode Kopiraj in Prilepi
Operacije kopiranja in lepljenja v VBA lahko izvajate z uporabo metod kopiranja in lepljenja. Upoštevajte, da prideta v igro dva različna predmeta. Metoda Kopiraj je uporabna za objekt Obseg, metoda Prilepi pa za predmet Delovni list. Pravzaprav je smiselno: kopirate obseg in ga prilepite na delovni list.
Ta kratek makro (z dovoljenjem snemalnika makrov) kopira obseg A1:A12 in ga prilepi na isti delovni list, začenši v celici C1:
Sub CopyRange()
Obseg(»A1:A12«).Izberite
Izbor. Kopija
Obseg(»C1«).Izberi
ActiveSheet.Prilepi
Končni sub
Upoštevajte, da je v prejšnjem primeru predmet ActiveSheet uporabljen z metodo Paste. To je posebna različica predmeta delovni list, ki se nanaša na trenutno aktivni delovni list. Upoštevajte tudi, da makro izbere obseg, preden ga kopira. Vendar vam ni treba izbrati obsega, preden z njim nekaj naredite. Pravzaprav naslednji postopek opravi enako nalogo kot prejšnji primer z uporabo enega stavka:
Sub CopyRange2()
Obseg (»A1:A12«). Obseg kopiranja (»C1«)
Končni sub
Ta postopek izkorišča dejstvo, da lahko metoda Copy uporabi argument, ki ustreza ciljnemu obsegu za operacijo kopiranja. To je nekaj, kar lahko ugotovite, če preverite v sistemu pomoči.
Metoda Clear
Metoda Clear izbriše vsebino obsega in vse oblikovanje celic. Na primer, če želite odstraniti vse v stolpcu D, vam pomaga naslednji stavek:
Stolpci(»D:D«).Počisti
Zavedati se morate dveh povezanih metod. Metoda ClearContents izbriše vsebino obsega, vendar pusti oblikovanje nedotaknjeno. Metoda ClearFormats izbriše oblikovanje v obsegu, ne pa tudi vsebine celice.
Metoda Delete
Brisanje obsega se razlikuje od brisanja obsega. Ko izbrišete obseg, Excel premakne preostale celice, da zapolni obseg, ki ste ga izbrisali.
Naslednji primer uporablja metodo Delete za brisanje vrstice 6:
Vrstice(»6:6«).Izbriši
Ko izbrišete obseg, ki ni popolna vrstica ali stolpec, mora Excel vedeti, kako premakniti celice. (Če želite videti, kako to deluje, eksperimentirajte z Excelovim ukazom Domov → Celice → Izbriši → Izbriši celice.)
Naslednji stavek izbriše obseg in nato zapolni nastalo vrzel s premikom drugih celic v levo:
Obseg(»C6:C10«).Izbriši xlToLeft
Metoda Delete uporablja argument, ki označuje, kako naj Excel premakne preostale celice. V tem primeru se za argument uporablja vgrajena konstanta (xlToLeft). Uporabite lahko tudi xlUp, drugo imenovano konstanto.