Как да пишем макроси в Excel: Пълно ръководство

⚡ Умно обобщение

Макросите в Excel записват поредица от стъпки и ги възпроизвеждат с едно щракване, за да автоматизират повтаряща се задача. Тази страница обяснява какво представляват макросът и VBA, основите на защитата на макросите и записва работещ макрос, който импортира и форматира CSV файл с банкови разписки.

  • ⏺️ Основна дефиниция: Макросът в Excel записва стъпките ви и ги възпроизвежда толкова пъти, колкото е необходимо, спестявайки време за повтаряща се работа.
  • 🧑💻 VBA: Visual Basic for Applications е езикът, който Excel пише автоматично, когато макросът записва, така че не е необходимо кодиране за стартиране.
  • 🛠️ Раздел за разработчици: Макросите се намират в раздела „Разработчик“, който е скрит по подразбиране и е активиран чрез „Опции“, „Персонализиране на лентата“.
  • 🔒 Сигурност: Макросите са деактивирани по подразбиране, защото могат да бъдат използвани неправилно, така че изпълнявайте макроси само от надежден източник.
  • 💾 Формат на файла: Работна книга с макроси трябва да бъде запазена във формат .xlsm с активирани макроси.
  • ▶ ️ Запис и изпълнение: „Запис на макрос“ заснема стъпките, „Спиране на записа“ го прекратява, а бутонът „Макроси“ го възпроизвежда отново.

Как да пишем макроси в Excel

Какво е Excel Macro?

Макрос на Excel е инструмент за запис и възпроизвеждане, който просто записва вашите стъпки в Excel и макросът ще го възпроизвежда толкова пъти, колкото искате. Макросите на VBA спестяват време, тъй като автоматизират повтарящи се задачи. Това е част от програмен код, който работи в среда на Excel, но не е необходимо да сте кодер, за да програмирате макроси. Все пак се нуждаете от основни познания по VBA, за да правите разширени модификации в макроса.

Защо макросите на Excel се използват в Excel?

Като хора, ние сме създания на навика. Има определени неща, които правим ежедневно, всеки работен ден. Не би ли било по-добре, ако имаше някакъв магически начин да натиснем един бутон и всичките ни рутинни задачи да бъдат изпълнени? Чувам те да казваш „да“. Макросът в Excel ви помага да постигнете това. На обикновен език макросът се дефинира като запис на вашите рутинни стъпки в Excel, които можете да възпроизведете отново с помощта на един бутон.

Например, работите като касиер във водоснабдително дружество. Някои от клиентите плащат през банката и в края на деня от вас се изисква да изтеглите данните от банката и да ги форматирате по начин, който отговаря на вашите бизнес изисквания.

Можете да импортирате данните в Excel и формат. На следващия ден ще трябва да извършите същия ритуал. Скоро ще стане скучно и досадно. Макросите решават такива проблеми чрез автоматизиране на такива рутинни задачи. Можете да използвате макрос, за да запишете стъпките на

  • Импортиране на данните
  • Форматиране, за да отговаря на вашите изисквания за бизнес отчети.

Какво е VBA на езика на лаика?

VBA е акронимът на Visual Basic за приложения. Това е език за програмиране, който Excel използва, за да записва вашите стъпки, докато изпълнявате рутинни задачи. Не е нужно да сте програмист или много технически специалист, за да се насладите на предимствата на макросите в Excel. Excel има функции, които автоматично генерират изходния код вместо вас. Прочетете статията на VBA за повече информация.

Основи на макроси в Excel

Макросите са една от функциите на разработчиците. По подразбиране разделът за разработчици не се показва в Excel. Ще трябва да го покажете чрез персонализиран отчет

Макросите на Excel могат да се използват за компрометиране на вашата система от нападатели. По подразбиране те са деактивирани в Excel. Ако трябва да изпълнявате макроси, ще трябва да активирате изпълняващи се макроси и да изпълнявате само макроси, за които знаете, че идват от доверен източник

Ако искате да запишете макроси на Excel, тогава трябва да запишете вашата работна книга във формат с разрешени макроси *.xlsm

Името на макроса не трябва да съдържа интервали.

Винаги попълвайте описанието на макроса, когато създавате такъв. Това ще помогне на вас и другите да разберете какво прави макросът.

Пример стъпка по стъпка за запис на макроси в Excel

Сега в този урок за макроси на Excel ще научим как да създадем макрос в Excel:

Ще работим със сценария, описан във важността на макросите в Excel. За този урок за макроси на Excel ще работим със следния CSV файл, за да напишем макроси в Excel.

Записване на макроси в Excel

Можете да изтеглите горния файл тук

Изтеглете горния CSV файл и макроси

Ние ще създадем шаблон с активирани макроси, който ще импортира горните данни и ще ги форматира, за да отговори на нашите изисквания за бизнес отчети.

Активирайте опцията за разработчици

За да изпълните VBA програма, трябва да имате достъп до опцията за разработчици в Excel. Активирайте опцията за разработчици, както е показано в примера за макрос на Excel по-долу, и я закачете в основната си лента в Excel.

Стъпка 1)Отидете в главното меню „ФАЙЛ“

Изберете опцията „Опции“.

Активирайте опцията за разработчици

Активирайте опцията за разработчици

Стъпка 2) Сега ще се отвори друг прозорец, в който направете следните неща

  • Кликнете върху Персонализиране на лентата
  • Поставете отметка в квадратчето за опцията за програмист
  • Кликнете върху бутона OK

Активирайте опцията за разработчици

Стъпка 3) Раздел Разработчик

Вече ще можете да видите раздела РАЗРАБОТЧИК в лентата

Активирайте опцията за разработчици

Стъпка 4) Изтеглете CSV

Първо ще видим как можем да създадем команден бутон в електронната таблица и да изпълним програмата.

  • Създайте папка в устройство C с име Bank Receipts
  • Поставете файла receipts.csv, който сте изтеглили

Активирайте опцията за разработчици

Стъпка 5) Запис на макрос

  1. Кликнете върху раздела РАЗРАБОТЧИК
  2. Кликнете върху Запис на макрос, както е показано на изображението по-долу

Активирайте опцията за разработчици

Ще получите следния диалогов прозорец

Активирайте опцията за разработчици

  1. Въведете ImportBankReceipts като име на макрос.
  2. Стъпка две ще бъде там по подразбиране
  3. Въведете описанието, както е показано на диаграмата по-горе
  4. Кликнете върху раздела „OK“.

Стъпка 6) Изпълнете макро Operaции/стъпки, които искате да запишете

  • Поставете курсора в клетка A1
  • Кликнете върху раздела ДАННИ
  • Щракнете върху бутона От текст в лентата на лентата Получаване на външни данни

Ще получите следния диалогов прозорец

Активирайте опцията за разработчици

  1. Отидете на локалното устройство, където сте съхранили CSV файла
  2. Изберете CSV файла
  3. Кликнете върху бутона Импортиране

Ще получите следния съветник

Активирайте опцията за разработчици

Щракнете върху бутона Напред, след като изпълните горните стъпки

Активирайте опцията за разработчици

Следвайте стъпките по-горе и щракнете върху следващия бутон

Активирайте опцията за разработчици

  • Кликнете върху бутона Край
  • Вашата работна книга сега трябва да изглежда по следния начин

Активирайте опцията за разработчици

Стъпка 7) Форматиране на данните

Направете колоните удебелени, добавете общата сума и използвайте функцията SUM, за да получите общата сума.

Активирайте опцията за разработчици

Стъпка 8) Спрете да записвате макрос

Сега, след като приключихме с рутинната си работа, можем да щракнем върху бутона за спиране на записа на макрос, както е показано на изображението по-долу

Активирайте опцията за разработчици

Стъпка 9) Повторете макроса

Преди да запазим работната си книга, ще трябва да изтрием импортираните данни. Ще направим това, за да създадем шаблон, който ще копираме всеки път, когато имаме нови разписки и искаме да изпълним макроса ImportBankReceipts.

  • Маркирайте всички импортирани данни
  • Щракнете с десния бутон върху маркираните данни
  • Кликнете върху Изтриване
  • Кликнете върху бутона за запазване като
  • Запишете работната книга във формат с активирани макроси, както е показано по-долу

Активирайте опцията за разработчици

  • Направете копие на новозаписания шаблон
  • Отвори го
  • Кликнете върху раздела РАЗРАБОТЧИК
  • Кликнете върху бутона Макроси

Ще получите следния диалогов прозорец

Активирайте опцията за разработчици

  1. Изберете ImportBankReceipts
  2. Маркира описанието на вашия макрос
  3. Кликнете върху бутона Run

Ще получите следните данни

Активирайте опцията за разработчици

Поздравления, току-що създадохте първия си макрос в Excel.

Абсолютен срещу относителен макро запис

Преди записа, бутонът „Използване на относителни препратки“ в раздела „Разработчик“ определя как макросът да запомни клетките, върху които щраквате. Изборът на правилния режим е най-честата причина, поради която записан макрос работи или не работи с нови данни.

вид Как се записва Най - доброто за
Абсолютно (по подразбиране) Записва точния адрес на клетката, например A1, всеки път Задача, която винаги започва в една и съща клетка, като например импортиране в A1
Относителен Записва движението от текущата клетка, а не от фиксиран адрес Задача, повтаряща се надолу по списък, където и да се намира курсорът

💡 Съвет: Макросът ImportBankReceipts по-горе използва абсолютен запис, защото винаги запълва листа от клетка A1. Включете „Използване на относителни препратки“ преди запис, когато едни и същи стъпки трябва да се изпълняват на различен ред всеки път.

Въпроси и Отговори

Стандартен .xlsx файл не може да съхранява макрокод. Запазете работната книга във формат .xlsm с активирани макроси. Ако запишете като .xlsx, Excel ще ви предупреди, че макросите ще бъдат премахнати от файла.

Кодът на макроса може да изпълнява опасни действия, така че Excel деактивира макросите по подразбиране и показва предупреждение за сигурност. Активирайте макросите само във файл, който идва от източник, на който имате доверие, и проверете кода, ако не сте сигурни.

Отворете раздела „Разработчик“, щракнете върху „Макроси“, изберете макроса и изберете „Редактиране“. Това отваря редактора на Visual Basic, където записаните стъпки се показват като VBA код, който може да бъде променен и запазен.

Да. Функции на изкуствен интелект, като Copilot в Excel и асистенти за код, генерират VBA от просто описание на задачата. Потребителят поставя кода в редактора на Visual Basic и го тества върху копие на данните.

Да. Асистентите с изкуствен интелект четат генерирания VBA код и описват всяка стъпка на разбираем език, като предлагат начини за нейното по-кратко или по-безопасно изпълнение. Потребителят преглежда обяснението и тества всяка промяна, преди да го използва.

Обобщете тази публикация с: