VBA. Від простого макросу до VBA-проекту: Курси

Крім порад, як навчитися писати макроси VBA для Excel, розповім і свою історію - як я навчався програмування на VBA.

Почалося все в минулому столітті, в 1993 році, коли я навчався у школі. На уроках інформатики, у нас у класі, стояли комп'ютери-монстри під назвою «Корвет», і ми писали на них прості програми на Бейсику. Ці комп'ютери відрізнялися від «нормальних» (IBM-сумісних) дуже помітно - у них був монохромний дисплей, геть-чисто був відсутній жорсткий дискі дисків для дискет, і єдине, що на ньому запускалося (автоматично, після завантаження) - це інтерпретатор мови Basic.

Взагалі, інтерес до програмування у мене виявився раніше - у віці 9 років, коли я побачив у журналі «Моделіст-конструктор» за 1988 рік (який читав регулярно, від кірки до кірки) якісь машинні коди для комп'ютера «Спеціаліст» . Мене тоді дуже зацікавила можливість вбити в комп'ютер якісь літери та цифри, щоби змусити його робити те, що мені хочеться. На жаль, фінансове становище моїх батьків у ті часи залишало бажати кращого, і про купівлю будь-якої подоби комп'ютера не могло бути й мови. Так що я розважався тим, що переписував ці коди з журналу в зошит, сподіваючись, що колись у мене з'явиться комп'ютер, і я зможу ним управляти:)

Бо на той час домашній комп'ютербув розкішшю (тільки у деяких були будинки «Спектруми», а комусь пощастило обзавестися дорогим IBM PC 286), освоював Basic я виключно в школі, часом затримуючись після уроків. Шкільною програмою було передбачено всього 2 роки навчання предмету «Інформатика» (10 та 11 класи), але я з дитинства цікавився всякою електронікою, тому став відвідувати заняття з 8 класу, читаючи там єдину книжку-інструкцію з «Корвету» (ось ця книга, з якої почався мій шлях у програмування, вона ж у ПДФ), і намагаючись складати прості програми. Незабаром викладач почала пускати мене за головний комп'ютер(тільки на ньому була можливість зберігати програми на дискету 5.25" - і те, для цього доводилося чимало попрацювати) - і мої програми стали набагато складніше. Якось навіть вдалося реалізувати гру «Покер» з графічним інтерфейсом (вийшло близько 2000 рядків коду) - це при тому, що інтерпретатор Basic дозволяв виводити на екран лише символи та графічні примітиви.
У підсумку, до закінчення школи ( 1996 рік) я вміло користувався циклами і мав деякий досвід складання алгоритмів.

Що стосується алгоритмів – цей термін досі викликає у мене алергію. За часів навчання у школі, на лекціях з інформатики (навчався я досить непогано, і нас, переможців усіляких олімпіад, відправляли на додаткове навчання вищої математики та інформатики до очно-заочної школи при УрДУ), нас змушували писати алгоритми на якомусь псевдокоді ( суміші російської з Turbo Pascal). Оскільки в програмуванні я помітно відставав від однолітків (вони навчалися на IBM-сумісних комп'ютерах, де був цей Паскаль і багато іншого, а я, крім Бейсіка, нічого не знав і не бачив), було дуже складно освоїти синтаксис алгоритмічної мови. Крім того, я не розумів (і зараз не розумію), навіщо потрібно витрачати годину на складання алгоритму для найпростішої програми, якщо можна просто відкрити редактор, і написати кілька рядків коду (для мене нормально знає англійська мова, синтаксис мови BASIC був набагато зрозумілішим, ніж цей загадковий алгоритмічний псевдокод). Про блок-схеми взагалі не йдеться - як згадаю інститут, де нас змушували малювати блок-схеми (на кілька аркушів формату A4) для найпростіших програм з 10 рядків, перестаю розуміти, як взагалі може не пропасти бажання вивчати програмування після всього цього. .

Після закінчення школи, в інституті, я трохи вивчав Turbo Pascal, де моє навчання програмуванню зупинилося на десятиліття (комп'ютера вдома і на роботі не було), і я забув майже все, що вивчав на уроках інформатики.
Однак у 2004 році, у мене на роботі, начальство нарешті вирішило замінити друковану машнку (на якій я вже дуже вміло бив по клавішах) на простенький комп'ютер (це був Pentium-1 з 64 мегабайтами ОЗУ та Windows 98). Враховуючи, що Windows я побачив тоді вперше, мені довелося вчитися на комп'ютері «з нуля».

Освоїв комп'ютер швидко, т.к. вже на другий день Windows злетіла після безуспішної спроби розгону процесора, і мені довелося в екстреному порядку освоювати переустановку ОС та програм. Людина, яка допомагала мені в перший день знайомства з комп'ютером встановлювати операційну системута основні програми, не мав можливості допомагати мені постійно. Він залишив мені дистрибутиви Windows і Office, пару дисків у різними утилітами, після чого пояснив мені, як вбивати та форматувати текст у Word, як відкривати та зберігати файли через меню програм, і пішов, побажавши мені удачі. Мені нічого не залишалося, як освоювати систему «методом тику».

Яким щастям (після друкарської машинки) була можливість зберігати та редагувати надруковані документи... і мене анітрохи не бентежило, що запуск Word займав близько 20-30 секунд (а CorelDRAW вантажився кілька хвилин). Комп'ютер став моїм головним захопленням - за пару місяців я освоїв основні програми, через півроку на повну силу колупався в реєстрі, відновлюючи вінду, що злетіла (хто пам'ятає Win98 - той мене зрозуміє), попутно освоїв архітектуру комп'ютера (постійно доводилося перетикати модулі пам'яті, підключати жорсткі диски, і т.п.)

Робота моя полягала у підготовці різних документів(Актів, наказів і т.п.), і я став замислюватися, як же її спростити (не люблю робити те саме день у день). Майже одразу я звернув увагу на пункт «Редактор Visual Basic" в меню Microsoft Wordі поліз дивитися, що це за звір такий. Потикався, подивився вбудовану довідку, але мало що зрозумів. Анітрохи не схожий був цей Basic на той, що я вивчав у школі. Розібрався, що можна малювати форми з кнопочками та текстовими полями, але як змусити це працювати, поки не розумів. Доступу в інтернет не було, тож подивитися приклади використання я не міг.

Так би й закинув я цю справу, але тут, одного чудового дня, файли Wordпочали відкриватися повільно, і за їх відкритті почала вискакувати якась помилка. Став розбиратися - і виявив, що помилка виникає при виконанні макросу з 20 рядків, який загадково виявився у всіх моїх документах. Подивившись код, я зрозумів, що переді мною ніщо інше, як макровірус, що заражає всі файли Word, що відкриваються, і безуспішно намагається відправити якісь дані по мережі. (До речі, це був перший і останній раз, коли я бачив макровірус, - відтоді через мене пройшли тисячі файлів Excelі Word, і я ніколи не зустрічав у них макровіруси). Це мене зацікавило - якщо макрос може зібрати дані з комп'ютера, сам себе скопіювати в інші файли, та ще щось відправити на іншу IP адресу, - значить, за допомогою макросів можна зробити практично будь-що!

І я став освоювати макроси – читав вбудовану довідку з VBA, пробував приклади коду з цієї довідки, писав простенькі цикли (що я пам'ятав ще зі школи), малював нескладні форми тощо. Повністю користувався записом макросів у Word, оптимізуючи отриманий код. (З Excel я тоді не працював - взагалі погано розумів, для чого він може бути корисним). Користь це приносило мало - але було цікаво, т.к. я захоплювався програмуванням ще зі шкільної лави. Поступово моя робота стала спрощуватися, хоча на автоматизацію витрачалося часу більше, ніж знадобилося б на ручне виконання всіх дій.

Одного разу, 2006 році, мені реально знадобилися навички програмування на VBA. По роботі, знадобилося створювати (малювати в CorelDRAW) багато однотипних планів евакуації (це такі креслення приміщень зі стрілочками та специфічними значками). Малювати їх можна було і вручну, але, щоб результат відповідав ГОСТу, було необхідно дотримуватися різних пропорцій і відстані між елементами. Двигати значки по аркушу, підганяючи на око відстань від ліній і сусідніх значків, швидко набридло. А ще треба було все вирівнювати, швидко малювати та красиво з'єднувати пунктирні лінії, щоразу виконувати переддрукарську підготовку, і т.д. і т.п... У результаті, витративши 2 або 3 місяці на автоматизацію цього процесу, я досягнув скорочення часу виготовлення креслення в кілька разів. До того ж, приємно було дивитися на обличчя колег, коли на їхніх очах відбувалися дива, - лінії малювались і рухалися на екрані самі, стрілки вирівнювалися і загиналися, все майнуло, і за хвилину я вже витягав з комп'ютера дискету, готову до відправки до друкарні. (з двома копіями файлу, повністю готового до друку)

На подвір'ї було літо 2008 року. Зайнятися мені не було чим, і я вирішив допомогти з вирішенням завдань в Excel людям, які звертаються за порадою на форуми. Втягнувся я в це швидко – приємно було чути подяки від людей, яким моя «чарівна кнопка» заощадила багато годин однотипної роботи. До того ж, допомога вимагала зовсім небагато сил, - часом достатньо було написати 2-3 рядки коду. Тут я почав розуміти, що знаю в VBA і Excel ще дуже і дуже погано, - і почав вчитися, розбираючись у рішеннях, запропонованих досвідченішими колегами.

Потрібно було 2 або 3 роки, протягом яких я допомагав на форумах усім бажаючим, щоб почати почуватися в Excel впевнено. Спочатку писав дуже прості макроси, потім - найскладніші. Через рік до мене почали звертатися із замовленнями – тоді я готовий був працювати за копійки (бо метою було не заробляти гроші, а допомогу людям). Першим більш-менш серйозним замовленням, за яке я взяв плату, була програма для співробітників приймальної комісії – довелося реалізовувати базу даних Excel. За 3 тижні мук та переробок (замовила програму студентка, яка сама точно не знала, що їй потрібно) програма була написана – і заробив я на цьому близько 3500 рублів. З тих пір зі студентами я не працюю - грошей мало, техзавдання немає, купа прохань про переробку (бо викладу щось не сподобалося), та й взагалі неприємно усвідомлювати, що програма буде запущена всього 1 раз, а потім їй ніхто користуватися не буде.

У 2009 я зробив сайт сайт. Сайтом це можна було назвати лише з натяжкою – він складався з однієї сторінки (ось як він виглядав на той час). Користи від такого сайту, як ви розумієте, бути не могло - ті, хто заходив на сайт, і без того вже знали, чим я займаюся. А хотілося більшого – щоб сайт приносив користь як мені, так і своїм відвідувачам. Тому мені в екстреному порядку довелося вивчати сайтобудування - і, завдяки допомозі друга, через кілька місяців сайт придбав двигун у вигляді CMS Drupal (самому мені було б це не подужати). Що публікувати на сайті, я тоді ще не придумав, тому почав використовувати його як записник- публікувати там корисні універсальні макроси та функції, щоб не доводилося їх щоразу шукати у різних файлах, згадуючи, коли і кому я робив таке.

Не минуло й півроку, як відвідуваність сайту почала зростати. З'ясувалося, що макроси, що викладаються мною, цікаві багатьом, і це дало мені стимул до подальшого розвитку ресурсу - я став викладати готові рішення у вигляді файлів Excel і надбудов, приділяти більше уваги функціоналу і структурі сайту. Разом з тим, почала зростати кількість замовлень, - відвідувачі сайту бачили, що можливості макросів безмежні, і зверталися до мене з проханням автоматизувати свою роботу. Але, все одно, замовлень було замало, щоб серйозно розглядати програмування як джерело доходу, - на місяць було 2-3 невеликі замовлення. Навіть якщо й замовляли щодо складну програму, то радості це не приносило - я, через недосвідченість, одразу обговорював суму, а потім, по душевній доброті, погоджувався на різні доробки, які були відсутні в початковому завданні на програму. В результаті цього я тижнями працював над однією програмою, а заробляв зовсім небагато – оскільки спочатку передбачалося, що зробити треба зовсім небагато.

Але цей час (майже рік) не було втрачено марно - грошей я не заробив, зате набув безцінного досвіду в розробці інтерфейсів користувача(Доводилося малювати форми введення з сотнями полів), вирішенні нестандартних для Excel завдань (обробка сайтів, робота з файлами, зображеннями, і т.д.), заодно навчившись з півслова розуміти замовників та їх завдання (ех, бачили б ви, як деякі люди формулюють завдання на складні програми в одному реченні з 10 слів...). Телепатом я ще не став, але став здогадуватися, чого насправді хоче замовник, і пропонував людям саме те, що їм потрібне (більшість самі не знають, чого хочуть, коли звертаються по допомогу). І все було б добре, якщо не відсутність замовлень (на той час, допомагати людям на форумі стало набридати - щодня одні й ті самі питання, ніхто не хоче користуватися пошуком, та ще й студенти-халявники долають).

І почав я думати, як збільшити кількість замовлень, - хотілося, щоб моє хобі нарешті почало приносити відчутний дохід. Знову довелося вдаритися у сайтобудування – освоїти основи SEO, дизайну, та й сайтобудування в цілому. І одного разу зрозумів я, чого досі не вистачало на сайті – великої кнопки для оформлення замовлення. Недовго думаючи, протягом 5 хвилин ця кнопка (яку зараз ви можете споглядати в лівому верхньому куткусторінки) була додана на всі сторінки сайту. Результат не забарився - протягом місяця я отримав замовлень більше, ніж за весь попередній рік.

Настав 2012 рік. Кількість замовлень зросла до такого обсягу, що одному мені здолати їх не було жодної можливості. Частину замовлень я став передавати своїм колегам (особливо великі та складні замовлення), бо всіх грошей все одно не заробити, та й сидіти цілодобово за монітором не дуже хочеться. Принагідно на основній роботі (з 8:00 до 17:00 я працював інженером у місцевому інтернет-провайдері) помітно виросло навантаження, і я перестав встигати писати макроси в робочий час. У результаті, на розвиток сайту часу зовсім не залишалося - вечорами тільки встигав розгрібати частину замовлень, і в пошті почали накопичуватись непрочитані листи.

Пора було щось змінювати у своєму житті – робити вибір між роботою та програмуванням. І ось, у середині липня 2012 року, я цей вибір зробив – на основній роботі написав заяву на звільнення, вирішивши присвятити себе програмуванню (розробці макросів для Excel). З того часу, вільного часу у мене більш ніж достатньо, тому я планую знову зайнятися розширенням сайту, і активніше працювати над замовленнями (щоб виключити ситуації, коли замовники по кілька тижнів чекали на свої макроси).
Що з усього цього вийде – доки не знаю, час покаже. Думаю, попит на макроси для Excel буде зберігатися ще як мінімум 2-3 роки, тож без хліба з маслом я не залишуся.

Також у планах на найближче майбутнє – розробка та публікація умовно-безкоштовних надбудов для Excel (перші проби пера на цій ниві дали непогані результати).
А далі - планую зайнятися розробкою баз даних (з веб-інтерфейсом) і поступово перейти на роботу з веб-сервісами.

<спустя 4 года, решил продолжить статью>

І ось надворі вже 2016 рік. На мою радість, Microsoft поки не відмовляється підтримки від VBA в Excel, тому я продовжую працювати в цій сфері. Ці 4 роки сильно змінили моє життя — доходи зросли в кілька разів, я почав багато подорожувати, на роботу залишалося менше часу. Кількість замовлень на макроси постійно збільшувалася, тому я почав співпрацювати з кількома програмістами, яким передавав замовлення, коли сам не справлявся через відсутність часу. Хтось із моїх колег (кому я віддавав замовлення на роботу) з часом зникав, а інші, навпаки, все активніше співпрацювали зі мною, — і тепер я маю команду, яка вирішує будь-які завдання (один колега бере прості макроси, і робить їх швидко, інший робить складні макроси з використанням нестандартних рішень, третій займається "каламутними" об'ємними замовленнями, де треба кілька тижнів обговорювати завдання, і потім ще місяць це робити, четвертий спеціалізується на формулах, п'ятий налаштовує парсери, і т.д. кожного своя сфера діяльності).

Підібрати хорошу команду було справою непростою, хоча я сам нікого особливо не шукав (половина самі до мене звернулися за роботою, решті я написав сам, бо знав з усіх за форумами Excel як хороших спеців), не з усіма вдавалося працювати тривалий час. Одні рідко з'являлися в мережі, і недостатньо швидко реагували на замовлення, інші сприймали роботу більше як хобі (якщо раптово немає бажання працювати, така людина могла на тиждень, а то й місяць, зникнути, не попередивши ні мене, ні замовника). Один кадр навіть примудрився кинути мене на гроші (взяв кілька замовлень і зник, не заплативши мені мою комісію). Але все це в минулому — зараз зі мною лише перевірені хлопці (з ким я працюю вже кілька років), які беруть замовлення будь-якої складності, і завжди доводять роботу до кінця.

Оскільки мені вдалося розправитися з «текучкою» (великою кількістю дрібних замовлень, які хоч приносять і непоганий дохід, але займають 100% часу), я став приділяти більше уваги розробці та просуванню універсальних надбудов для Excel. Зараз у моєму арсеналі 9 таких надбудов, але успішно продаються лише 5: FillDocuments (найперша моя робота, донедавна була в лідерах за доходами, і користується стабільним попитом, оскільки там реалізовано вже все, що тільки може стати в нагоді користувачам для заповнення документів) , PastePictures (продається з 2012 року, але популярність стала набирати порівняно недавно), Unification (3 роки тому це була найскладніша з моїх програм), Lookup (найпростіша з моїх надбудов, яка по суті є заміною формули ВВР, - Але дуже популярна серед користувачів) і Parser (універсальний парсер для збору даних з сайтів і файлів, найкрученіша з моїх програм на сьогоднішній день, - 17.600 рядків коду). Щодо парсера, — ще в 2013 році мені здавалося абсолютно нереальною витівка зробити щось подібне (і я відмовляв замовникам, говорячи про неможливість зробити універсальне рішення для сайтів на кшталт Unification - програми обробки прайсів), але потім кількість замовлень на парсери сайтів почала збільшуватися і я вирішив спробувати, про що жодного разу не пошкодував, — доходи від рішень на базі цієї надбудови перевершили всі мої очікування.

Але не всі програми мали успіх. Від продажу однієї програми (YandexMarket) я взагалі відмовився, — сайт дуже часто змінювався, програма вимагала доробок, алгоритм пошуку потрібних даних був неочевидний, потім з'явилася капча, — і я вирішив, що не варто витрачати час на подальший розвитокпрограми, повернувши гроші кільком покупцям. Інші програми, такі як BarcodeScanner, Labels, SearchText, хоч і окупили витрачений на розробку час, і продовжують приносити дохід, але не йдуть ні в яке порівняння з п'ятіркою програм-лідерів.

З розвитком вищеописаних універсальних надбудов, сформувався так званий «движок» програми, — набір макросів та елементів інтерфейсу, що дозволяє швидко зробити готове до продажу рішення з будь-якої ідеї. Двигун спочатку потрібен був для підтримки оновлень (щоб користувач міг в одне натискання перевірити та встановити оновлення), пізніше він знайшов функціонал захисту (хакери стали звертати увагу на мої рішення, оскільки попит на них зростав з кожним роком, – і довелося мені винаходити різні схеми захисту від нелегального використання, при тому що вбудований захист коду в Excel нікуди не годиться, бо знімається за пару секунд). Принагідно довелося виконувати функціонал активації та оновлення програм на стороні сайту, - почав трохи розбиратися в PHP і MySQL, роблячи скрипти, що взаємодіють з двигуном програми.

Останні кілька років, основний час у мене йде на забезпечення техпідтримки (покупців програм з кожним роком все більше), і на розвиток надбудови-парсеру, як найпопулярнішого та найперспективнішого з моїх рішень (додаю новий функціонал, публікую приклади налаштованих парсерів). Мій рівень програмування, завдяки парсеру і новому движку програм, помітно виріс, - хоч мій код і 5 років тому був цілком якісним і працював без збоїв, але тепер я відповідальніше підходжу до оформлення коду, зіткнувшись з необхідністю багаторічної підтримки своїх надбудов з багатьма тисячами рядків коду. Зараз, принагідно з використанням нового (багатомовного) движка у всі надбудови, я проводжу рефакторинг (оновлення) коду, роблячи його більш простим, зрозумілим, і універсальним. До речі, щодо багатомовності, — я вирішив продавати свої надбудови за межами СНД, і навіть зробив окремий сайт (щоб викласти там тільки універсальні надбудови, з інтерфейсом і описом різними мовами), але поки все ліньки цим займатися. Може, колись до цього руки й дійдуть (а поки що й із СНД покупців вистачає)

У планах на майбутнє (станом на вересень 2016 року), — розвинути напрямок парсингу сайтів в Excel, і нарешті зробити відеоінструкції до своїх програм (мені не ліньки і кілька тижнів поспіль додавати в програму новий функціонал, в той час як користувачі з наявним розібратися не можуть, зважаючи на відсутність повноцінної довідки.
Ну і пора вже виходити на міжнародний ринок, раз усі мої програми стали багатомовними (хоча переклад є тільки англійською поки що, і то частково)

<продолжение следует>

В нашому УЦУ ви можете пройти курси Макроси в Excel. Навчаючись, ви постійно відкриватимете нові можливості. Причому вам не доведеться багато конспектувати та зазубривати. Вся необхідна інформація, викладена у зрозумілій формі, запам'ятається досить швидко. Ви просто засвоїте її та навчитеся виконувати навіть досить складні операції. Вже найближчим часом робота з таблицями стане максимально легкою.

У чому секрет нашого навчання?

таких секретів 3.

  • Досвідчені педагоги. Займаючись із вами, вони не просто читають лекції. Викладачі допомагають напрацьовувати навички. Вони грамотно вдосконалюють ваші вміння, дозволяють досягти найвищого ступеня майстерності. Педагоги завжди готові проконтролювати рівень здобутих вами знань, усунути помилки, відповісти на запитання.
  • Грамотно складені програми. Вони підходять не тільки для досвідчених фахівців, які постійно вдосконалюють, а й для новачків.
  • Цікаві заняття у комфортних умовах. Ми надаємо кожному слухачеві оснащене робоче місце. Ми дбаємо про те, щоб будь-який студент мав доступ до сучасного програмного забезпеченняі йшов у ногу з часом. А ще ми прагнемо створення таких умов навчання, в яких нікому не буде нудно чи складно.

Записуйтесь на курси. Ми будемо раді допомогти вам грамотно використати власні ресурси та сучасні можливості.

  • Колекція Cells

Мета курсу: ...

Докладніше про програму

Модуль 1 "Введення в об'єктну модель. Макрорекордер"

  • Використання макрорекордера автоматичного записумакросів
  • Редакор VBE – на що звернути увагу
  • Вивчення та покращення згенерованого коду VBA
  • Ієрархія об'єктів, колекції, властивості, методи та події

Модуль 2 "Синтаксис мови VBA"

  • Робота зі змінними та костантами,
  • Робота з умовним оператором If...Then...Else
  • Робота з операторами циклу For Each...Next, While...End While, Do...Loop
  • Основні функції взаємодії з користувачем
  • Створення та виклик користувацьких функцій

Модуль 3 "Робота з діапазонами даних. Обробка помилок"

  • Властивості та методи об'єкту Range
  • Колекція Cells
  • Створення процедури обробки помилок Run-time
  • Прийоми налагодження та покрокового тестування коду

Практичний тренінг у міні-групі до 5-ти учасників, жодних лекцій та записів, багато практики "з полів".

Ціль курсу:

  • вільно читати та виправляти помилки в коді VBA,
  • розбиратися в редакторі VBA, проводити налагодження коду та редагування,
  • застосовувати змінні, цикли, діалоги для введення значень та виведення інформації, функції користувача,
  • поетапно та усвідомлено створити свій VBA-проект

Ваші компетенції після курсу:

  • Читання та розуміння коду VBA, редагування
  • Використання макрорекордера та відладчика
  • Застосування масивів, циклів, підциклів
  • Розробка моделей прийняття рішень на VBA
  • Користувальницькі функції та форми
  • Тестування та обробка помилок VBA
  • Створення свого проекту VBA від А до Я

Тривалість курсу: 16 академічних годин практики коду VBA в Excel (4 дні по 4 ак. години – з 19 до 22 будні)

Кожному учаснику тренінгу:

Можливості Excel не обмежуються набором вбудованих функцій. За допомогою написання макросів можна створювати власні функції для виконання нестандартних завдань в Excel.

Наприклад, самостійно написаний макрос можна прив'язати до іконки та вивести на Стрічку меню. Або Ви можете створити функцію користувача (UDF) і використовувати її так само, як і інші вбудовані функції Excel.

Макрос – це комп'ютерний код, написаний для Excel мовою програмування Visual Basic for Applications (VBA). Базові поняттямови програмування VBA розглядаються на нашому сайті в Підручнику з VBA. Однак, перш ніж приступити до написання коду VBA, рекомендуємо познайомитися з уроками, в яких розглядається безпека макросів Excel і редактор Visual Basic.

Налаштування дозволу для використання макросів в Excel

В Excel передбачено вбудований захист від вірусів, які можуть проникнути в комп'ютер через макроси. Якщо хочете запустити в книзі Excelмакрос, переконайтеся, що параметри безпеки налаштовані правильно.

Редактор Visual Basic

Запис макросів

Інструментарій Excel для запису макросів - це відмінний спосіб ефективно виконувати прості завдання, що повторюються. Також його можна використовувати як допоміжний засіб при написанні складніших макросів.

Підручник Excel VBA

Для тих, хто тільки починає освоювати мову програмування Excel VBAпропонуємо невеликий вступний курс з Visual Basic for Applications.

Оратор під ключ Виправлення помилок у бухгалтерському та податковому обліку та звітності Облік розрахунків з податку на прибуток Бухгалтерська звітність 2011: «зниклі» статті та абсолютно нові об'єкти обліку Взаємовідносини з податковими органами- «нове старе» протистояння «Обережна» податкова оптимізація Керівнику про бухгалтерський облік та звітність МСФЗ «у першому наближенні» 1С: Бухгалтерія 8. Режиси користувача Податок на прибуток у конфігурації «1С:Бухгалтерія 8» 1С: Зарплата та управління персоналом. Регламентований кадровий облік 1С: Зарплата та управління персоналом. Розрахунки з персоналом 1С: Управління торгівлею (ред.11). Управління продажами 1С: Підприємство 8.2. Підтримка інформаційних баз 1С:Підприємство 8.2. Перші кроки розробника 1С: Підприємство 8.2. Мова запитів 1С:Підприємство 8.2. Рішення оперативних завдань 1С: Підприємство 8.2. Рішення бухгалтерських завдань 1С: Підприємство 8.2. Вирішення розрахункових завдань 1С: Підприємство 8.2. Засоби інтеграції та обміну даними 1С: Підприємство 8.2. Нові можливості Основи програмування у системі "1C:Підприємство 8" 1С:Підприємство 8.2. Введення у конфігурування. Основні об'єкти Adobe Photoshop CS5 для початківців Adobe Photoshop CS5. Ретуш Adobe Photoshop CS5. Корекція кольору Adobe Photoshop CS5. Практичне застосування Adobe Illustrator CS5 Adobe InDesign CS5 Додрукована підготовка макетів відповідно до вимог виробництва CorelDRAW X5. Векторна графікаДекорування предметів інтер'єру в техніку декупаж Базова комп'ютерна підготовка. Windows 7/Word 2010/Excel 2010 та Інтернет Тайм-менеджмент у Microsoft Outlook 2010. Управління часом та завданнями для сучасної людини Microsoft Excel 2010/2013: розширені можливості Прогнозування та оптимізація в Excel. Методи лінійного програмуванняу Excel Візуалізація даних у Microsoft Excel Програмування макросів на VBA у Microsoft Excel Формули масиву та аналіз даних у Excel 2010/2013 Бюджетування, планування, розрахунок ефективності та факторний аналіз Професійне програмування макросів Бізнес-презентація з Microsoft Power Pointта Microsoft Excel Професійні інструменти Microsoft Excel 2010/2013. Microsoft Word 2010/2007 Розширені можливості Microsoft Word для юристів та юридичних секретарів MS Word Розширені можливості Бізнес-презентація з Microsoft Power Point та Microsoft Excel Планування та відстеження термінів у Project 2010 Microsoft Access 2013/2016 Спільна роботакористувачів у SharePoint 2010 Машинопис на комп'ютері SketchUp. Основи майстерності SketchUP. Розширений курс Створення бібліотечних елементів засобами ArchiCAD 16 Autodesk AutoCAD 2013 AutoCad MEP 2013: проектування інженерних мереж та комунікацій Майстер-клас AutoCAD MEP 2013. Електрика Autodesk Inventor 2013. 16. Базовий рівень Архітектурне проектування серед ArchiCAD 16. Розширені можливості Autodesk Revit 2014. Основні поняття, створення сімейств Autodesk Revit 2014. Моделювання інженерних систем будівель HTML5. Базовий курс JavaScript. Базовий курс JavaScript та jQuery. Розширений курс AJAX – це просто! XML та JavaScript PHP. Основний курс PHP. Програмування Веб-сервера PHP. Розширені можливості PHP. Працюємо з базами даних XMLта PHP XML. Застосування та практика XML схеми. Проектування представлення даних XSLT перетворення XML та PHP XML та JavaScript Google Analytics 2015: Професійна Веб-Аналітика. Підвищення ефективності сайтів Семінар: Нові інструменти та методики в Google Analytics Google AdWords. Базовий курс Переїзд сайту: питання, проблеми та варіанти їх вирішення WebMatrix 3.0 або створюємо сайти легко та просто CMS Joomla!: Адміністрація та обслуговування сайту CMS Joomla!: Інтеграція власного дизайн-макета та безпека сайту Пошукова оптимізаціясайтів на WordPress SEO 2019 - Пошукова оптимізація сайтів Семінар: Нові методи просування сайтів SEO-2015 Пошукова оптимізація сайтів на WordPress Почни інтернет-бізнес з нуля. Запуск інтернет-магазину Семінар: Почни інтернет-бізнес із нуля. Запуск інтернет-магазину Тайм-менеджмент: процеси та інструменти управління особистим часом Проведення ефективних презентацій SCRUM: ефективне управління проектами в ІТ Процеси управління проектами (PMI PMBoK 2012) Управління ІТ-проектами Підготовка до сертифікації PMI РМР (Project Management Professional) MS Project як інструмент ефективного управління проектами MindJet MindManager в управлінні проектами Документознавство та діловодство Основи секретарської справи Етикет Податок на прибуток у конфігурації «1С:Бухгалтерія 8» Майстер-клас AutoCAD MEP 2013. Електрика Майстер-клас «Фотозйомка для початківців» Практичний семінар по використанню в Adobe Photoshop, Illustrator, InDesign Семінар: Нові методи просування сайтів SEO-2015 Семінар: Нові інструменти та методики в Google Analytics Семінар: Почни інтернет-бізнес з нуля. Запуск інтернет-магазину Пошукова оптимізація сайтів на WordPress Adobe Photoshop CS5 для початківців Adobe Photoshop CS5. Ретуш Adobe Photoshop CS5. Корекція кольору Творча фотографія Цифрова фотографіяМайстер-клас «Секрети фотографії» Оратор під ключ Тайм-менеджмент у Microsoft Outlook 2010. Керування часом та завданнями для сучасної людини Консультації з Веб-курсів