Една от по-мощните, но рядко използвани функции на Excel е способността много лесно да се създават автоматизирани задачи и персонализирана логика в макросите. Макросите осигуряват идеален начин да спестите време на предвидими, повтарящи се задачи, както и да стандартизирате форматите на документи - много пъти, без да се налага да пишете един ред от код.
Ако сте любопитни какви са макросите или как да ги създадете, няма проблем - ще ви преведем през целия процес.
Забележка:същият процес трябва да работи в повечето версии на Microsoft Office. Екранните снимки може да изглеждат малко по-различни.
Макросът на Microsoft Office (тъй като тази функционалност се отнася за няколко от приложенията на MS Office) е просто код за Visual Basic for Applications (VBA), запазен в документ. За сходна аналогия помислете за документ като HTML и макрос като Javascript. По много по същия начин, по който Javascript може да манипулира HTML в уеб страница, макрос може да манипулира документ.
Макросите са невероятно мощни и могат да направят почти всичко, което твоето въображение може да предизвика. Като (много) кратък списък от функции, които можете да направите с макрос:
Започваме с вашия CSV файл с грамотност. Няма нищо специално тук, само 10 × 20 набор от номера между 0 и 100, както с заглавие на ред, така и с колона. Нашата цел е да изготвим добре форматиран, представяем информационен лист, който да съдържа обобщени суми за всеки ред.
Както казахме по-горе, макрос е VBA код, но едно от хубавите неща за Excel е, че можете да ги създавате / записвате с нулево кодиране - както ще направим тук.
За да създадете макрос, отворете Изглед> Макроси> Записване на макроси.
Задайте на макроса име (без интервали) и кликнете върху OK.
След като това стане, всичко на вашите действия са записани - всяка клетка промяна, превъртане действие, промяна на прозореца, вие го име.
Има няколко места, които показват, че Excel е режим на запис. Едното е чрез преглеждане на менюто "Макро" и отбелязването, че Stop Recording е заменила опцията за Record Macro.
Другият е в долния десен ъгъл. Иконата "stop" показва, че е в макро режим, а натискането тук ще спре записа (също така, когато не е в режим на запис, тази икона ще бъде бутонът Record Macro, който можете да използвате, вместо да отидете в менюто Макроси).
Сега, когато записваме нашия макрос, нека да приложим обобщените изчисления. Първо добавете заглавията.
След това приложийте съответните формули (съответно):
Сега подчертайте всички изчислителни клетки и преместете дължината на всички наши редове за да приложите изчисленията към всеки ред.
След като това бъде направено, всеки ред трябва да покаже съответните си резюмета.
Сега искаме да получим обобщените данни за целия лист, така че да приложим още няколко изчисления:
съответно:
След като направите изчисленията, ще приложим стила и форматирането. Първо прилагайте форматиране на общо число във всички клетки, като направите Select All (или Ctrl + A или кликнете върху клетката между заглавките на редовете и колоните) и изберете иконата "Style Style" в менюто Home.
След това приложете визуално форматиране както на заглавията на редовете, така и на колоните:
И накрая, прилагайте някакъв стил на общите суми.
Когато всичко свърши, изглежда как изглежда нашият лист с данни:
Тъй като сме доволни от резултатите, спрете записването на макроса.
Поздравления - току-що сте създали макрос на Excel.
За да използваме наскоро записвания макрос, трябва да запазим работната книга на Excel в макро файл с разрешен файлов формат. Преди да направим това обаче, първо трябва да изчистим всички съществуващи данни, така че да не е вграден в нашия шаблон (идеята е, че всеки път, когато използваме този шаблон, ще импортираме най-актуалните данни).
За да направите това, изберете всички клетки и ги изтрийте.
С данните, които вече са изтрити (но макросите все още са включени в файла в Excel), искаме да запазим файла като файл с шаблон с активиран макрос (XLTM). Важно е да се отбележи, че ако запазите това като стандартен шаблон (XLTX) файл, тогава макросите ще го направят не да може да се управлява от него. Алтернативно, можете да запазите файла като файл на наследствен шаблон (XLT), който ще позволи макросите да се изпълняват.
След като запазите файла като шаблон, продължете и затворете Excel.
Преди да покрием как можем да приложим този новозаписан макрос, е важно да се обхванат няколко въпроса за макросите като цяло:
Кодът на VBA всъщност е доста мощен и може да манипулира файлове извън обхвата на настоящия документ. Например, макрос може да променя или изтрива произволни файлове в папката My Documents. Поради това е важно да се уверите, че сте само макроси от надеждни източници.
За да използвате нашия макрос за формат на данните, отворете файла на шаблона на Excel, създаден по-горе. Когато го направите, ако приемете, че имате стандартни настройки за защита, ще видите предупреждение в горната част на работната книга, в което се казва, че макросите са деактивирани. Тъй като се доверяваме на макроса, създаден от нас, кликнете върху бутона "Активиране на съдържанието".
След това ще внесем последния набор от данни от CSV (това е източникът на работния лист, използван за създаването на нашия макрос).
За да завършите импортирането на CSV файла, може да се наложи да зададете няколко опции, за да може Excel да го интерпретира правилно (например разделител, налични заглавки и т.н.).
След като данните ни се импортират, просто отидете в менюто Макроси (под раздела Изглед) и изберете Преглед на макроси.
В резултантния диалогов прозорец виждаме макроса "FormatData", който записвахме по-горе. Изберете го и кликнете върху Изпълни.
След като стартирате, може да видите курсора да скочи наоколо за няколко минути, но тъй като той ще видите данните, които се манипулират точно както го записвахме. Когато всичко е казано и направено, то трябва да изглежда точно като оригинала - освен с различни данни.
Както споменахме няколко пъти, макрос се задвижва от код за Visual Basic for Applications (VBA). Когато записвате макрос, Excel всъщност превежда всичко, което правите, в съответните си инструкции за VBA. За да го кажете просто - не е нужно да пишете код, защото Excel пише за вас кода.
За да видите кода, който прави макроса ни да се изпълнява, кликнете върху бутона "Редактиране" от диалоговия прозорец "Макроси".
Прозорецът, който се отваря, показва изходния код, записан от нашите действия при създаването на макроса. Разбира се, можете да редактирате този код или дори да създадете нови макроси изцяло в прозореца на кода. Докато записващото действие, използвано в тази статия, вероятно ще отговаря на повечето нужди, по-персонализираните действия или условните действия биха изисквали да редактирате изходния код.
Хипотетично предполагаме, че файлът с данни за източника, data.csv, се произвежда от автоматизиран процес, който винаги записва файла на същото място (например C: \ Data \ data.csv винаги е най-скорошните данни). Процесът на отваряне на този файл и внасянето му може лесно да се превърне в макрос:
След като това стане, всеки път, когато шаблонът се отвори, ще има две макроси - една, която зарежда нашите данни, а другата, която ги форматира.
Ако наистина сте искали да си замърсите ръцете с малко редактиране на кода, лесно бихте могли да комбинирате тези действия в един макрос, като копирате кода, създаден от "LoadData", и го вмъкнете в началото на кода от "FormatData".
За ваше удобство ние включихме както шаблона на Excel, произведен в тази статия, така и примерния файл с данни, с който да играете.
Изтеглете Excel Macro Template от How-To Geek