Советы по написанию VBA в Excel - список и примеры кодов

Ниже приведены девять советов по написанию VBA в Excel. VBA для Excel предоставляет бесчисленные возможности для пользовательских вычислений и автоматизации. Часто код может состоять из сотен или даже тысяч строк. По мере увеличения сложности и размера кода становится все более важным писать быстрый и эффективный код, который легко понимают коллеги. Это сделает вас бесценным активом для вашей команды в поддержке и разработке моделей Excel VBA. VBA в Excel VBA - это аббревиатура от Visual Basic для приложений. VBA - это язык программирования, разработанный Microsoft Corp., интегрированный в платформу.

Советы по написанию VBA в Excel

1. Прокомментируйте свой код, чтобы улучшить читаемость.

Вы когда-нибудь открывали модель VBA своего коллеги и проводили следующий час, пытаясь понять, что именно делает их код? Имея это в виду, представьте, насколько профессионально вы бы выглядели, если бы ваш код был кристально понятен любому, кто его читает, даже если бы вас не было рядом, чтобы объяснить его.

Написание комментариев - самый важный элемент написания кода VBA, и он гарантирует, что вы сможете легко понять свой собственный код через несколько месяцев. Вы также произведете впечатление на коллег и быстро заработаете репутацию разработчика превосходной документации, что сократит время обучения будущих пользователей.

Советы по написанию VBA в Excel - Комментарий

2. Называйте переменные и функции, используя понятные и релевантные имена.

Написание имен переменных и функций VBA, которые могут быть четко интерпретированы, сэкономит пользователям огромное количество времени и позволит им четко следовать структуре и потоку вашего кода. Имена переменных или функций, такие как «test1» или «first_integer», создадут бесчисленные головные боли для тех, кто пытается прочитать ваш код VBA.

Приведенная ниже процедура вставляет уровень инфляции в США в активную ячейку, если она доступна. Обратите внимание, насколько второй пример яснее первого.

Плохой пример:

Именование переменных - плохой пример

Хороший пример:

Именование переменных - хороший пример

3. Спланируйте свою работу, чтобы помочь создать простой и эффективный код VBA.

Нередко бывает наполовину закончить написание проекта кода, прежде чем вы поймете, что вам следовало структурировать его по-другому или создать отдельную функцию для определенных элементов вашего кода. Планирование структуры вашего VBA, того, чего вы хотите добиться, какие циклы вам понадобятся и т. Д., Сэкономит ваше время в долгосрочной перспективе. Это также дает вам время подумать о потенциальных ошибках, которые могут возникнуть в процессе, и о том, как вы планируете с ними бороться.

Советы по написанию VBA в Excel - спланируйте свою работу

4. Используйте макросы, чтобы быстро разработать синтаксис.

Для большинства людей макросы дают первое представление о мире VBA и программирования. Даже для опытных программистов макросы - отличный способ быстро понять синтаксис VBA, необходимый для выполнения определенной функции или метода.

Предположим, вы не знаете, как сохранить файл с помощью VBA. Нажав «Запись макроса», вы можете выполнить шаги вручную, и редактор VBA запишет эти шаги в код. Магия! Теперь вы можете повторно использовать и адаптировать код в своих собственных процедурах.

Советы по написанию VBA в Excel - используйте макросы

5. Научитесь писать свой собственный код; не полагайтесь на макросы!

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

Предположим, вы записали макрос, который выполняет различные изменения форматирования вашего рабочего листа. В ходе выполнения кода он выбирает столбец I, а затем удаляет его. Предположим, что в следующем месяце файл будет включать дополнительный столбец; теперь ваш макрос удалит не тот столбец. Изучение того, как программировать себя, позволит вам создавать циклы и искать нужный столбец перед его правильным удалением.

Напишите свой собственный код

6. Используйте Option Explicit, чтобы избежать пропуска значений.

Использование «Option Explicit» в начале модуля кода VBA - ценный способ избежать орфографических ошибок в вашем коде.

В левом примере ниже Option Explicit не включен. Код работает без ошибок, но всегда возвращает нулевой ответ. Почему? Причина в том, что переменная MonthIncme написана неправильно и поэтому ни на что не ссылается. Ничто, деленное на что-то, всегда равно нулю.

При запуске кода из второго примера Option Explicit обнаруживает, что в нашем коде есть неопределенные переменные, и возвращает ошибку компиляции. Он выделяет необъявленную переменную и информирует нас о проблеме. Вы всегда должны использовать Option Explicit в верхней части каждого модуля кода перед любой из ваших подпрограмм.

Использовать Option Explicit

7. Повышайте скорость, сводя выбор объектов к минимуму.

Если вы новичок в VBA и задаетесь вопросом, почему ваш код работает очень медленно, чрезмерное использование метода .Select является главным подозреваемым. Следует избегать выбора объекта, кроме случаев крайней необходимости, особенно при работе с большими объемами данных или циклами. Выбор объектов в VBA происходит очень медленно и обычно в этом нет необходимости. Записанные макросы часто включают в себя множество методов .Select, поэтому важно научиться их избегать.

В первом примере ниже мы пытаемся найти текущую сумму в 1000 ячеек на нашем листе. Каждый раз, когда мы ссылаемся на новую ячейку, мы выбираем ее, а затем берем ее значение. Однако выделение листа или ячейки вовсе не обязательно. Мы можем просто получить значение ячейки. Таймер использовался для записи времени, затрачиваемого на выполнение каждой процедуры, причем во втором примере это было в 50 раз быстрее!

Сведите выбор объектов к минимуму

Сведите выбор объектов к минимуму

8. Используйте стандартные функции повторно, чтобы сэкономить время.

Хранение наиболее распространенных подпрограмм (подпрограмм) VBA в одном месте - удобный способ сократить время, которое вы тратите на кодирование или построение модели. Вот пример из нашей статьи «10 самых популярных процедур VBA», в котором выбранные ячейки объединяются, а к каждой ячейке применяются одинаковые заголовки. Вы даже можете назначить макросу сочетание клавиш, чтобы его можно было быстро использовать.

Следите за нашим блогом о повторном использовании кода (скоро), который будет посвящен надстройкам и персональным модулям кода.

Образец таблицы

Повторное использование общих функций

9. Регулярно тестируйте свой код, чтобы избежать ошибок во время выполнения.

Приведенный выше совет, вероятно, применим к большинству работающих проектов, но он особенно актуален для программирования и, следовательно, VBA для Excel. Тестирование вашего кода гарантирует, что ошибки и ошибки будут обнаружены, а исключения, которые могут возникнуть во время выполнения, могут быть зафиксированы с помощью соответствующего отлова ошибок (см. Нашу статью об ошибках в VBA здесь Типы ошибок в VBA для Excel Пользователи часто сталкиваются с различными типами ошибок в VBA. Ниже мы предлагаем несколько стратегий их устранения и устранения. Мы рассмотрим их).

Тестирование должно начинаться с вас как разработчика кода. Вы должны протестировать сам код, а затем протестировать его в неживой или неэффективной среде.

Как только вы будете удовлетворены этим, вы должны позволить коллеге протестировать вашу модель Excel, в идеале, не давая им никаких подсказок относительно того, какие кнопки им следует нажимать или какие входные данные им следует вводить. Ваша модель должна говорить сама за себя. Тест будет хорошим индикатором того, что произойдет, когда ваш код будет запущен.

Проверьте свой код

Дополнительные ресурсы

Спасибо, что прочитали наши советы по написанию VBA в Excel. Finance является официальным поставщиком глобального сертификата Certified Banking & Credit Analyst (CBCA) ™ CBCA ™ Certification. Аккредитация Certified Banking & Credit Analyst (CBCA) ™ является мировым стандартом для кредитных аналитиков, который охватывает финансы, бухгалтерский учет, кредитный анализ, анализ денежных потоков. , моделирование ковенантов, погашение кредитов и многое другое. программа сертификации, призванная помочь любому стать финансовым аналитиком мирового уровня. Чтобы продолжить карьеру, вам пригодятся следующие дополнительные финансовые ресурсы:

  • Советы по финансовому моделированию Советы по финансовому моделированию
  • Как отлаживать код (VBA) VBA: как отлаживать код При написании и запуске кода VBA важно, чтобы пользователь научился отлаживать ошибки кода. Пользователь Excel ожидает, что код
  • Советы по собеседованию - Как правильно пройти собеседование Советы по собеседованию - Как правильно пройти собеседование Это руководство предоставит вам список из 10 лучших советов по собеседованию, основанных на многолетнем личном опыте финансовой команды, собеседующей сотни кандидатов. Независимо от того, находитесь ли вы в начале, в середине или в конце карьеры, собеседование всегда может быть нервным. К счастью, будучи хорошо подготовленным
  • VBA: Sub vs Function VBA: Sub vs Function В этой статье мы обсудим ключевые различия между подпрограммой и функцией. Оба являются наборами команд, которые используются для выполнения определенных задач в