Публикацията актуализирана: август 2021 г
Ето един читателски въпрос:
Имам колега, който използва макроси на Excel VBA за анализиране на куп данни. Можете ли да обясните как работят макросите и вероятно да ми предложите начин да придобия това умение? Всички прости съвети за начинаещи са много оценени.
Благодаря за въпроса.
Въведение в макроси на Excel 365
Овладяването на разработката на макроси е може би едно от най-важните умения, необходими, за да станете мощен потребител на Excel. По същество ние използваме VBA макроси, за да автоматизираме задачи в Excel (също и в Word, макросите са доста полезни ), които иначе биха били обикновени, скучни и отнемащи много време.
Ето няколко примера за задачи, които можем да автоматизираме с макроси в Excel:
- Създаване и манипулиране на работни книги и работни листове.
- Създаване и манипулиране на диаграми
- Импортирайте данни от файлове или други системи.
- Анализирайте данни и създавайте/опреснявайте диаграми и табла за управление
- Персонализирайте формуляри, за да улавяте обратна връзка
- Изпращане на имейли
- И още много…
Поради факта, че Excel се доставя с вграден рекордер за макроси (за разлика от Outlook и PowerPoint), има две основни опции за добавяне на макрос към работна книга на Excel:
1) Записване на поредица от действия на потребителите, с които вероятно е лесно да започнете, но не се увеличава за сложни задачи, които могат да включват взаимодействие с други приложения на Office или манипулиране на по-големи подмножества от данни.
2) Написване на вашите макроси чрез използване на Visual Basic за приложения (VBA). Това е сравнително прост процедурен език, който ви позволява бързо да разработите по-сложна автоматизация.
В тази публикация ще разгледаме и двата случая. Ще започнем, като ви покажем как да запишете вашия макрос и ще продължим, като предоставим подробна процедура за вмъкване на VBA макроси в електронни таблици.
Ще демонстрираме и двете опции, използвайки много проста задача: Ще автоматизираме добавянето на име на работен лист „DEMO“ към съществуваща работна книга и ще копираме конкретна таблица от Sheet1 в нея.
Запишете макроси на Excel 365 / 2019
Ще използваме много прост пример, за да очертаем процеса. Моля, продължете както следва:
- В Excel отворете съществуваща работна книга или създайте чисто нова.
- Придвижете се до раздела Изглед в горната лента.
- В дясната страна ще забележите секцията Macro.
- Натиснете Изглед и изберете Запис на макрос.
- Формулярът по-долу ще се отвори. Сега дайте име на вашия макрос и съхранете съдържанието му в съществуващата работна книга. Може да забележите, че тук можете лесно да зададете клавишен пряк път, за да можете по-лесно да стартирате макроса.
Съвет: Не забравяйте да въведете подробно описание на вашия макрос.
- Сега натиснете OK.
- В този момент продължете и изпълнете ръчно стъпките, които искате да запишете – в нашия случай аз ще продължа и ще създам ръчно новата електронна таблица, ще я преименувам и след това ще копирам таблицата от Sheet1.
- След като сте готови, натиснете отново Макроси и изберете Спиране на записа.
- Ако сега натиснете Макроси и след това изберете Преглед на макроси, ще видите списък с всички макроси, съхранени във всички отворени работни книги (или конкретни).
- Ако натиснете бутона Редактиране, ще се отвори Microsoft VBA Editor.
- Редакторът на VBA показва кода, който Excel току-що е генерирал за вас във фонов режим. В следващия раздел на този урок ще ви покажа как можете сами да напишете подобен код.
Запазване на вашия файл с активиран макрос
Сега ще трябва да запазим работната книга. Тъй като съдържа макрос, трябва да го запишем като XSLM файл (файл на Excel с активиран макрос)
- Натиснете Файл, след това Запиши
- Изберете местоположение във вашия компютър или OneDrive, в което ще запазите файла си.
- Дайте му описателно име
- Изберете .xslm като тип файл.
- Натиснете OK.
- Браво, току-що записахте прост макрос!
Създайте макроси на Excel VBA
Както споменахме по-рано, в много случаи записващото устройство за макроси на Excel ще се откаже и няма да отговори на всички ваши нужди. В тези случаи ще трябва да напишете свой собствен код.
Съвет: Има случаи, в които може да искате да използвате хибриден подход към създаването на макроси. Можете да започнете, като запишете вашия макрос и след това просто да направите ръчни корекции на автоматично генерирания код с VBA.
Настройка на средата за разработка на Excel
Това звучи доста фантастично, но всъщност е доста просто. Ако не виждате раздел с име Разработчик във вашата лента, започнете, като активирате раздела Разработчик .
След като разделът за програмисти стане видим, вашата лента ще изглежда по следния начин:
Писане на вашия VBA макрос
- Отворете вашия файл на Excel.
- От лентата натиснете Разработчик.
- Сега натиснете бутона Visual Basic (алтернативно натиснете Alt+F11).
- Отидете до Module1 и поставете следния код:
Sub Write_Macro()
'This code creates a Macro named Write_Macro
Dim MySheet As New Worksheet
Dim MyTable As Range
' Create a worksheet programatically and call it TEST
Set MySheet = ThisWorkbook.Sheets.Add(After:=Sheets(Sheets.Count))
MySheet.Name = "TEST"
'Copy the table from Sheet1 into TEST worksheet
Set MyTable = Sheet1.Range("A1:C11")
With MyTable
.Copy Sheets("TEST").Range("A1")
End With
End Sub
- Затворете вашия VBA редактор.
- Върнете се в Excel, натиснете Разработчик.
- Сега натиснете Макрос и погледнете в списъка с макроси във вашата работна книга. Ще забележите записа Write_Macro, който ние просто пишем сами.
- Запазете вашата електронна таблица като .xslm (файл на Excel с активиран макрос)
Стартиране на вашия макрос
Изпълнението на вашия макрос е много просто: От диалоговия прозорец за макроси, показан по-горе, маркирайте своя запис Write_Macro и натиснете Run.
Разрешаване на разрешения за защита на VBA
В Microsoft Office макросите са деактивирани по подразбиране, за да се избегне изпълнение на вреден код. Ако искате да стартирате вашите макроси, ще трябва да разрешите това. Изпълнете тази незадължителна стъпка, в случай че сте получили съобщение за грешка при стартиране на някой от двата макроса, които създадохме по-горе.
- Натиснете Разработчик в лентата.
- Изберете Макро защита .
- Изберете опцията Деактивиране на всички макроси с известия .
- Натиснете OK.
Забележка: Деактивиране на всички макроси с известие е препоръчителната настройка за защита за работни книги на Excel, които съдържат макроси. Работи по следния начин: когато потребител отвори такава работна книга, Excel публикува известие „МАКРОСИТЕ са деактивирани“ точно отвъд лентата с формули. След това решението на потребителя зависи да активира макросите в работната книга.
Обобщавайки
В днешния кратък урок научихме как да вмъкваме макроси в Office 365 Excel или като ги записваме, или ги записваме чрез директно използване на Visual Basic за приложения.
Това е само начална стъпка за начинаещи да се запознаят с разработката на Excel. Читатели, които се нуждаят от конкретни решения, моля, изпратете ни запитване чрез страницата за контакти .