Десять советов по написанию макросов Excel VBA

Десять здравых советов, которые сделают кодирование Excel VBA быстрее и проще. Эти советы основаны на Excel 2010 (но они работают почти во всех версиях), и многие из них были вдохновлены книгой О’Рейли «Excel 2010 – Отсутствующее руководство» Мэтью Макдональда.

1 – Всегда проверяйте свои макросы в одноразовой тестовой электронной таблице, обычно это копия той, с которой она предназначена для работы. Отмена не работает с макросами, поэтому, если вы кодируете макрос, который сворачивает, вращает и искажает вашу электронную таблицу, вам не повезло, если вы не последовали этому совету.

2 – Использование сочетаний клавиш может быть опасным, поскольку Excel не предупреждает вас, если вы выбираете сочетание клавиш, которое Excel уже использует. В этом случае Excel использует сочетание клавиш для макроса, а не встроенное сочетание клавиш. Подумайте, как удивится ваш босс, когда он загрузит ваш макрос, а затем Ctrl-C добавит случайное число к половине ячеек в своей электронной таблице.

Мэтью Макдональд делает это предложение в «Excel 2010 – Отсутствующее руководство».

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

  • Ctrl + S (Сохранить)
  • Ctrl + P (Печать)
  • Ctrl + O (Открыть)
  • Ctrl + N (Новый)
  • Ctrl + X (Выход)
  • Ctrl + Z (Отменить)
  • Ctrl + Y (Вернуть/Повторить)
  • Ctrl + C (Копировать)
  • Ctrl + X (Вырезать)
  • Ctrl + V (Вставить)

Чтобы избежать проблем, всегда используйте Ctrl + Shift + буквенные комбинации клавиш макроса, потому что эти комбинации гораздо реже, чем сочетания клавиш Ctrl + буква. И если вы сомневаетесь, не назначайте сочетание клавиш при создании нового непроверенного макроса.

3 – Не можете вспомнить Alt-F8 (ярлык макроса по умолчанию)? Эти имена ничего не значат для вас? Поскольку Excel сделает макросы в любой открытой книге доступными для любой другой открытой в данный момент книги, самым простым способом является создание собственной библиотеки макросов со всеми вашими макросами в отдельной книге. Откройте эту книгу вместе с другими таблицами. Как выразился Мэтью: «Представьте, что вы редактируете книгу с именем SalesReport.xlsx и открываете другую книгу с именем MyMacroCollection.xlsm, которая содержит несколько полезных макросов. Вы можете использовать макросы, содержащиеся в MyMacroCollection.xlsm, с SalesReport.xlsx без заминка “. Мэтью говорит, что этот дизайн упрощает совместное использование и повторное использование макросов в книгах (и между разными людьми).

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

5 – Новая архитектура безопасности макросов Microsoft была значительно улучшена, но еще удобнее сказать Excel доверять файлы в определенных папках на вашем компьютере (или на других компьютерах). Выберите определенную папку на жестком диске в качестве надежного расположения. Если вы откроете книгу, хранящуюся в этом месте, она будет автоматически доверенной.

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

7 – Вы могли подумать, что Excel запускает макрос для книги, содержащей код макроса, но это не всегда так. Excel запускает макрос в активной книге . Это рабочая тетрадь, которую вы просматривали совсем недавно. Как объясняет Мэтью: «Если у вас открыты две книги и вы используете панель задач Windows для переключения на вторую книгу, а затем обратно в редактор Visual Basic, Excel запускает макрос во второй книге».

8 – Мэтью предлагает: «Чтобы упростить кодирование макросов, попробуйте расположить окна так, чтобы вы могли видеть окно Excel и редактор Visual Basic. окна одновременно, бок о бок “. Но Excel этого не сделает («Упорядочить все» в меню «Вид» – только упорядочивает рабочие книги. Visual Basic в Excel считается другим окном приложения). Но Windows будет. В Vista закройте все, кроме двух, которые вы хотите расположить, и щелкните правой кнопкой мыши на панели задач; выберите «Показать окна бок о бок». В Windows 7 используйте функцию «Snap». (Поищите инструкции в Интернете по запросу «Windows 7 features Snap».)

9 – Главный совет Мэтью: «Многие программисты считают, что долгие прогулки по пляжу или выпивка из кувшина Mountain Dew – полезный способ очистить голову. “

И, конечно же, мать всех советов VBA:

10 – Первое, что нужно попробовать, когда вы не можете думать из операторов или ключевых слов, которые вам нужны в вашем программном коде, – это включить средство записи макросов и выполнить ряд операций, которые кажутся похожими. Затем изучите сгенерированный код. Это не всегда указывает на то, что вам нужно, но это часто бывает. Как минимум, это даст вам место для начала поиска.

Source

MacDonald, Matthew . «Excel 2010: отсутствующее руководство». 1 выпуск, O’Reilly Media, 4 июля 2010 г..

Оцените статью
recture.ru
Добавить комментарий