Създаване и управление на шаблони за Word 2019
Научете как да създавате и управлявате шаблони за Word 2019 с нашето ръководство. Оптимизирайте документите си с персонализирани стилове.
Подобно на хората, домашните любимци и ураганите, всяка процедура за под и функция на Excel VBA трябва да има име. Въпреки че е напълно приемливо да кръстите кучето си Hairball Harris, обикновено не е добра идея да използвате такова свободно отношение, когато назовавате Excl VBA процедури. Когато наименувате процедурите на Excel VBA, трябва да следвате няколко правила:
В идеалния случай името на процедурата описва целта на рутината. Добра практика е да създадете име чрез комбиниране на глагол и съществително – например ProcessData, PrintReport, Sort_Array или CheckFilename.
Някои програмисти предпочитат да използват имена, подобни на изречения, които предоставят пълно описание на процедурата. Някои примери включват WriteReportToTextFile и Get_Print_Options_and_Print_Report. Използването на толкова дълги имена има плюсове и минуси. От една страна, такива имена са описателни и обикновено недвусмислени. От друга страна им отнема повече време за писане. Всеки развива стил на именуване, но ако вашият макрос не е просто бърз и мръсен временен макрос, добре е да бъдете описателни и да избягвате безсмислени имена като DoIt, Update, Fix и все по-популярния Macro1.
Въпреки че на този етап може да не знаете много за разработването на подпроцедури, важно е да знаете как да изпълните тези процедури. Подпроцедурата е безполезна, освен ако не знаете как да я изпълните.
Между другото, изпълнението на подпроцедура означава същото нещо като стартирането или извикването на подпроцедура. Можете да използвате каквато пожелаете терминология.
Можете да изпълните VBA Sub по много начини; това е една от причините да правите толкова много полезни неща с подпроцедурите. Ето изчерпателен списък с начините за изпълнение на подпроцедура:
Някои от тези техники са разгледани по-долу. За да следвате, трябва да въведете подпроцедура в VBA модул:
Започнете с нова работна книга.
Натиснете Alt+F11, за да активирате VBE.
Изберете работната книга в прозореца на проекта.
Изберете Вмъкване → Модул, за да вмъкнете нов модул.
Въведете следното в модула:
Sub ShowCubeRoot() Num = InputBox("Въведете положително число") MsgBox Num ^ (1/3) & " е коренът на куба." Край под
Тази процедура изисква от потребителя номер и след това показва кубичния корен на това число в полето за съобщение. Тези изображения показват какво се случва, когато изпълните тази процедура.
Използване на вградената функция VBA InputBox за получаване на число.
Вие също какво се случва чрез функцията MsgBox тук.
Показване на кубичния корен на число чрез функцията MsgBox.
Между другото, ShowCubeRoot не е пример за добър макрос. Той не проверява за грешки, така че лесно се проваля. Опитайте да щракнете върху бутона Отказ в полето за въвеждане или да въведете отрицателно число. Всяко действие води до съобщение за грешка.
Един от начините да изпълните тази процедура е като го направите директно от VBA модула, в който сте го дефинирали. Следвай тези стъпки:
Активирайте VBE и изберете VBA модула, който съдържа процедурата.
Преместете курсора навсякъде в кода на процедурата.
Натиснете F5 (или изберете Run → Run Sub/UserForm).
Отговорете на полето за въвеждане и щракнете върху OK.
Процедурата показва кубичния корен на въведеното от вас число.
Не можете да използвате Run → Run Sub/UserForm, за да изпълните Sub процедура, която използва аргументи, защото нямате начин да предадете аргументите на процедурата. Ако процедурата съдържа един или повече аргументи, единственият начин да я изпълните е да я извикате от друга процедура, която трябва да предостави аргумента(ите).
През повечето време изпълнявате подпроцедури от Excel, а не от VBE. Следните стъпки описват как да изпълните макрос с помощта на диалоговия прозорец Macro на Excel:
Ако работите във VBE, активирайте Excel.
Натискането на Alt+F11 е експресният маршрут.
Изберете Разработчик → Код → Макроси (или натиснете Alt+F8).
Excel показва диалоговия прозорец, показан тук.
Диалоговият прозорец Макрос изброява всички налични подпроцедури.
Изберете макроса.
Щракнете върху Изпълни (или щракнете двукратно върху името на макроса в списъчното поле).
Диалоговият прозорец Макрос не показва подпроцедури, които използват аргументи. Това е така, защото няма начин да посочите аргументите.
Друг начин за изпълнение на макрос е да натиснете клавиша за бърз достъп. Но преди да можете да използвате този метод, трябва да зададете клавиш за бърз достъп на макроса.
Имате възможност да зададете клавиш за бърз достъп в диалоговия прозорец Запис на макрос, когато започнете да записвате макрос . Ако създадете процедурата без да използвате записващото устройство за макроси, можете да зададете клавиш за бърз достъп (или да промените съществуващ клавиш за бърз достъп), като използвате следните стъпки:
Изберете Разработчик → Код → Макроси.
Изберете името на подпроцедурата от списъчното поле.
В този пример процедурата е наречена ShowCubeRoot.
Щракнете върху бутона Опции.
Excel показва диалоговия прозорец Опции за макроси, показан тук.
Диалоговият прозорец Опции за макроси ви позволява да зададете опции за вашите макроси.
Щракнете върху опцията Клавиш за бърз достъп и въведете буква в полето с надпис Ctrl.
Буквата, която въвеждате, съответства на клавишната комбинация, която искате да използвате за изпълнение на макроса. Например, ако въведете малката буква c, можете да изпълните макроса, като натиснете Ctrl+C. Ако въведете главна буква, трябва да добавите клавиша Shift към клавишната комбинация. Например, ако въведете C, можете да изпълните макроса, като натиснете Ctrl+Shift+C.
Щракнете върху OK, за да затворите диалоговия прозорец Опции на макроса и след това щракнете върху Отказ, за да затворите диалоговия прозорец на макроса.
След като сте задали клавиш за бърз достъп, можете да натиснете тази клавишна комбинация, за да изпълните макроса. Клавишът за бърз достъп не работи, ако е присвоен на макрос, който използва аргумент.
Клавишите за бърз достъп, които присвоявате на макроси, заменят вградените клавишни комбинации на Excel. Например, Ctrl+C е стандартният клавиш за бърз достъп за копиране на данни. Ако присвоите Ctrl+C на макрос, не можете да използвате Ctrl+C за копиране. Това обикновено не е голяма работа, защото Excel почти винаги предоставя други начини за изпълнение на команди.
Понякога може да ви хареса идеята да присвоите макроса на бутон (или всяка друга форма) на работен лист. За да присвоите макроса на Excel на бутон, изпълнете следните стъпки:
Активирайте работен лист.
Добавете бутон от групата Контроли на формуляра.
За да покажете групата Контроли на формуляра, изберете Разработчик → Контроли → Вмъкване.
Лентата, показваща наличните контроли, когато щракнете върху Вмъкване в раздела Разработчик.
Щракнете върху инструмента Бутон в групата Контроли на формуляра.
Това е първият бутон в първия ред контроли.
Плъзнете работния лист, за да създадете бутона.
След като добавите бутона към вашия работен лист, Excel чете мислите ви и показва диалоговия прозорец Задаване на макрос, показан по-долу.
Когато добавите бутон към работен лист, Excel автоматично показва диалоговия прозорец Задаване на макрос.
Изберете макроса, който искате да зададете на бутона.
Щракнете върху OK.
След като сте направили заданието, щракването върху бутона изпълнява макроса — точно като магия.
Когато добавяте бутон, имайте предвид, че падащото поле показва два набора от контроли: Контроли за формуляри и ActiveX контроли. Тези две групи контроли изглеждат сходни, но всъщност са много различни. На практика контролите на формуляра са по-лесни за използване.
Можете също да зададете макрос на всяка друга форма или обект. Например, приемете, че искате да изпълните макрос, когато потребителят щракне върху правоъгълен обект. Следвай тези стъпки:
Добавете правоъгълника към работния лист.
Вмъкнете правоъгълник, като изберете Вмъкване → Илюстрации → Фигури.
Щракнете с десния бутон върху правоъгълника.
Изберете Присвояване на макрос от контекстното му меню.
Изберете макроса в диалоговия прозорец Задаване на макрос.
Щракнете върху OK.
След като изпълните тези стъпки, щракването върху правоъгълника изпълнява присвоения макрос.
Можете също да изпълните процедура на Excel VBA от друга процедура. Следвайте тези стъпки, ако искате да опитате това:
Активирайте VBA модула, който държи рутината ShowCubeRoot.
Въведете тази нова процедура (над или под кода на ShowCubeRoot - няма разлика):
Sub NewSub() Обадете се на ShowCubeRoot Край под
След като приключите, просто изпълнявате макроса NewSub.
Най-лесният начин да направите това е да преместите курсора навсякъде в кода на NewSub и да натиснете F5. Забележете, че тази процедура NewSub просто изпълнява процедурата ShowCubeRoot.
Между другото, ключовата дума Call не е задължителна. Инструкцията може да се състои само от името на подпроцедурата. Въпреки това, използването на ключовата дума Call прави напълно ясно, че се извиква процедура.
Функциите, за разлика от подпроцедурите, могат да се изпълняват само по два начина:
Опитайте тази проста функция. Въведете го във VBA модул:
Функция CubeRoot(число) CubeRoot = число ^ (1/3) Крайна функция
Тази функция е доста слаба; той просто изчислява кубичния корен на числото, предадено му като негов аргумент. Това обаче осигурява отправна точка за разбиране на функциите. Той също така илюстрира важна концепция за функциите: как да върнете стойността. (Спомняте си, че функцията връща стойност, нали?)
Забележете, че единственият ред код, който съставя тази функция на процедурата, извършва изчисление. Резултатът от математиката (число на степен 1⁄3) се присвоява на променливата CubeRoot. Неслучайно CubeRoot е и името на функцията. За да кажете на функцията каква стойност да върне, присвоявате тази стойност на името на функцията.
Тъй като не можете да изпълните функция директно, трябва да я извикате от друга процедура. Въведете следната проста процедура в същия VBA модул, който съдържа функцията CubeRoot:
Sub CallerSub() Отговор = CubeRoot(125) MsgBox Ans Край под
Когато изпълните процедурата CallerSub, Excel показва поле за съобщение, което съдържа стойността на променливата Ans, която е 5.
Ето какво се случва: Функцията CubeRoot се изпълнява и получава аргумент 125. Изчислението се извършва от кода на функцията (използвайки стойността, подадена като аргумент), а върнатата стойност на функцията се присвоява на променливата Ans. След това функцията MsgBox показва стойността на променливата Ans.
Опитайте да промените аргумента, който е предаден на функцията CubeRoot и стартирайте отново макроса CallerSub. Работи точно както трябва - ако приемем, че давате на функцията валиден аргумент (положително число).
Между другото, процедурата CallerSub може да бъде малко опростена. Променливата Ans всъщност не е задължителна, освен ако вашият код не използва тази променлива по-късно. Можете да използвате това единично изявление, за да получите същия резултат:
MsgBox CubeRoot(125)
Сега е време да извикате тази процедура на VBA функция от формула на работен лист. Активирайте работен лист в същата работна книга, която съдържа дефиницията на функцията CubeRoot. След това въведете следната формула във всяка клетка:
=Куб корен(1728)
Клетката показва 12, което наистина е кубичният корен от 1728.
Както може да очаквате, можете да използвате препратка към клетка като аргумент за функцията CubeRoot. Например, ако клетка A1 съдържа стойност, можете да въведете =CubeRoot(A1) . В този случай функцията връща числото, получено чрез изчисляване на кубичния корен на стойността в A1.
Можете да използвате тази функция произволен брой пъти в работния лист. Подобно на вградените функции на Excel, вашите персонализирани функции се появяват в диалоговия прозорец Вмъкване на функция. Щракнете върху бутона Вмъкване на функция в лентата с инструменти и изберете категорията Дефинирани от потребителя. Както е показано по-долу, диалоговият прозорец Вмъкване на функция изброява вашата собствена функция.
Функцията CubeRoot се появява в категорията User Defined на диалоговия прозорец Insert Function.
Ако искате диалоговият прозорец Вмъкване на функция да показва описание на функцията, изпълнете следните стъпки:
Изберете Разработчик → Код → Макроси.
Excel показва диалоговия прозорец Macro, но CubeRoot не се появява в списъка. (CubeRoot е функционална процедура и този списък показва само подпроцедури.) Не се притеснявайте.
Въведете думата CubeRoot в полето Име на макроса.
Щракнете върху бутона Опции.
Въведете описание на функцията в полето Описание.
Щракнете върху OK, за да затворите диалоговия прозорец Опции на макроса.
Затворете диалоговия прозорец Макрос, като щракнете върху бутона Отказ.
Този описателен текст сега се появява в диалоговия прозорец Вмъкване на функция.
Това изображение показва функцията CubeRoot, която се използва във формулите на работния лист.
Използване на функцията CubeRoot във формули.
Досега нещата може да започнат да се събират за вас.
Научете как да създавате и управлявате шаблони за Word 2019 с нашето ръководство. Оптимизирайте документите си с персонализирани стилове.
Научете как да настроите отстъп на абзаци в Word 2016, за да подобрите визуалната комуникация на вашите документи.
Как да блокирам Microsoft Word да отваря файлове в режим само за четене в Windows Microsoft Word отваря файлове в режим само за четене, което прави невъзможно редактирането им? Не се притеснявайте, методите са по-долу
Как да коригирате грешки при отпечатването на неправилни документи на Microsoft Word Грешките при отпечатването на документи на Word с променени шрифтове, разхвърляни абзаци, липсващ текст или изгубено съдържание са доста чести. Въпреки това недейте
Ако сте използвали писалката или маркера, за да рисувате върху слайдовете на PowerPoint по време на презентация, можете да запазите чертежите за следващата презентация или да ги изтриете, така че следващия път, когато го покажете, да започнете с чисти слайдове на PowerPoint. Следвайте тези инструкции, за да изтриете чертежи с писалка и маркери: Изтриване на линии една в […]
Библиотеката със стилове съдържа CSS файлове, файлове с разширяем език на стиловия език (XSL) и изображения, използвани от предварително дефинирани главни страници, оформления на страници и контроли в SharePoint 2010. За да намерите CSS файлове в библиотеката със стилове на сайт за публикуване: Изберете Действия на сайта→Преглед Цялото съдържание на сайта. Появява се съдържанието на сайта. Библиотеката Style се намира в […]
Не затрупвайте аудиторията си с огромни числа. В Microsoft Excel можете да подобрите четливостта на вашите табла за управление и отчети, като форматирате числата си така, че да се показват в хиляди или милиони.
Научете как да използвате инструменти за социални мрежи на SharePoint, които позволяват на индивиди и групи да общуват, да си сътрудничат, споделят и да се свързват.
Юлианските дати често се използват в производствени среди като времеви печат и бърза справка за партиден номер. Този тип кодиране на дата позволява на търговците на дребно, потребителите и обслужващите агенти да идентифицират кога е произведен продуктът и по този начин възрастта на продукта. Юлианските дати се използват и в програмирането, военните и астрономията. Различно […]
Можете да създадете уеб приложение в Access 2016. И така, какво всъщност е уеб приложение? Е, уеб означава, че е онлайн, а приложението е просто съкращение от „приложение“. Персонализирано уеб приложение е онлайн приложение за база данни, достъпно от облака с помощта на браузър. Вие създавате и поддържате уеб приложението в настолната версия […]