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

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

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

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

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

instagram viewer

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

  • 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 и визуальный Базовое окно редактора одновременно, бок о бок. "Но Excel не сделает этого, (Arrange All в меню View только упорядочивает Workbooks. Visual Basic считается другим окном приложения в Excel.) Но Windows будет. В Vista закройте все, кроме двух, которые вы хотите организовать, и щелкните правой кнопкой мыши на панели задач; выберите «Показать окна рядом». В Windows 7 используйте функцию «Snap». (Поищите в Интернете «Функции оснастки Windows 7» для получения инструкций.)

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

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

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

Источник

Макдональд, Мэтью. «Excel 2010: недостающее руководство». 1 издание, O'Reilly Media, 4 июля 2010 г.

instagram story viewer