Както знаете, VBA метод изпълнява действие в Excel 2016. Обектът Range има десетки методи, но няма да имате нужда от повечето от тях. Тук ще намерите някои от най-често използваните методи за обекти на Range.
Методът Select
Използвайте метода Select, за да изберете диапазон от клетки. Следното изявление избира диапазон в активния работен лист:
Диапазон (“A1:C12”). Изберете
Преди да изберете диапазон, често е добра идея да използвате един допълнителен израз, за да сте сигурни, че правилният работен лист е активен. Например, ако Sheet1 съдържа диапазона, който искате да изберете, използвайте следните изрази, за да изберете диапазона:
Sheets(“Sheet1”).Активирайте
Диапазон (“A1:C12”). Изберете
Противно на това, което може да очаквате, следният израз генерира грешка, ако Sheet1 вече не е активният лист. С други думи, трябва да използвате две изрази, а не само едно: едно за активиране на листа и друго за избор на диапазона.
Листове(“Лист1”).Обхват(“A1:C12”).Изберете
Ако използвате метода GoTo на обекта Application, за да изберете диапазон, можете да забравите първо да изберете правилния работен лист. Това изявление активира Sheet1 и след това избира диапазона:
Application.Goto Sheets(“Sheet1”).Обхват(“A1:C12”)
Методът GoTo е VBA еквивалент на натискане на F5 в Excel, което показва диалоговия прозорец GoTo.
Методите за копиране и поставяне
Можете да извършвате операции за копиране и поставяне във VBA, като използвате методите за копиране и поставяне. Имайте предвид, че в игра влизат два различни обекта. Методът Copy е приложим към обекта Range, но методът Paste се прилага към обекта Worksheet. Всъщност има смисъл: копирате диапазон и го поставяте в работен лист.
Този кратък макрос (с любезното съдействие на записващото устройство за макроси) копира диапазон A1:A12 и го поставя в същия работен лист, започвайки от клетка C1:
Поддиапазон на копиране()
Диапазон (“A1:A12”). Изберете
Избор.Копие
Диапазон (“C1”). Изберете
ActiveSheet.Paste
Край под
Забележете, че в предходния пример обектът ActiveSheet се използва с метода Paste. Това е специална версия на обекта Worksheet, който се отнася до активния в момента работен лист. Също така забележете, че макросът избира диапазона, преди да го копира. Въпреки това, не е нужно да избирате диапазон, преди да направите нещо с него. Всъщност следната процедура изпълнява същата задача като предходния пример, като използва едно изявление:
Поддиапазон на копиране2()
Диапазон (“A1:A12”). Диапазон на копиране (“C1”)
Край под
Тази процедура се възползва от факта, че методът Copy може да използва аргумент, който съответства на диапазона на дестинацията за операцията за копиране. Това е нещо, което можете да разберете, като проверите в системата за помощ.
Методът Clear
Методът Clear изтрива съдържанието на диапазон, плюс цялото форматиране на клетките. Например, ако искате да изтриете всичко в колона D, следното изявление ще свърши работа:
Колони(“D:D”).Изчистване
Трябва да сте наясно с два свързани метода. Методът ClearContents изтрива съдържанието на диапазона, но оставя форматирането непокътнато. Методът ClearFormats изтрива форматирането в диапазона, но не и съдържанието на клетката.
Методът за изтриване
Изчистването на диапазон се различава от изтриването на диапазон. Когато изтриете диапазон, Excel премества останалите клетки наоколо, за да запълни диапазона, който сте изтрили.
Следният пример използва метода Delete за изтриване на ред 6:
Редове(“6:6”).Изтриване
Когато изтриете диапазон, който не е пълен ред или колона, Excel трябва да знае как да измести клетките. (За да видите как работи това, експериментирайте с командата Home → Cells → Delete → Delete Cells на Excel.)
Следното изявление изтрива диапазон и след това запълва получената празнина чрез изместване на другите клетки наляво:
Диапазон(“C6:C10”). Изтрийте xlToLeft
Методът Delete използва аргумент, който показва как Excel трябва да измести останалите клетки. В този случай се използва вградена константа (xlToLeft) за аргумента. Можете също да използвате xlUp, друга именувана константа.