как вставить и запустить код vba в excel

VBA Excel. Начинаем программировать с нуля

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

Начинаем программировать с нуля
Часть 1. Первая программа
[Часть 1] [Часть 2] [Часть 3] [Часть 4]

Знакомство с редактором VBA

как вставить и запустить код vba в excel. picture56. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-picture56. картинка как вставить и запустить код vba в excel. картинка picture56. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

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

как вставить и запустить код vba в excel. picture57. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-picture57. картинка как вставить и запустить код vba в excel. картинка picture57. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

После нажатия кнопки «Module» вы увидите ссылку на него, появившуюся в проводнике слева.

Первая программа на VBA Excel

Добавляем на стандартный модуль шаблон процедуры – строки ее начала и завершения, между которыми мы и будем писать свою первую программу (процедуру, подпрограмму).

как вставить и запустить код vba в excel. picture58. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-picture58. картинка как вставить и запустить код vba в excel. картинка picture58. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

В результате откроется окно добавления шаблона процедуры (Sub).

как вставить и запустить код vba в excel. picture59. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-picture59. картинка как вставить и запустить код vba в excel. картинка picture59. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

как вставить и запустить код vba в excel. picture60. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-picture60. картинка как вставить и запустить код vba в excel. картинка picture60. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

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

как вставить и запустить код vba в excel. picture61. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-picture61. картинка как вставить и запустить код vba в excel. картинка picture61. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

Функция MsgBox выводит информационное сообщение с указанным текстом. В нашем примере – это «Привет».

как вставить и запустить код vba в excel. picture62. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-picture62. картинка как вставить и запустить код vba в excel. картинка picture62. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.
Если вы увидели такое сообщение, как на изображении, то, поздравляю – вы написали свою первую программу!

Работа с переменными

Чтобы использовать в процедуре переменные, их необходимо объявить с помощью ключевого слова «Dim». Если при объявлении переменных не указать типы данных, они смогут принимать любые доступные в VBA Excel значения. Комментарии в тексте процедур начинаются со знака «’» (апостроф).

Пример 2
Присвоение переменным числовых значений:

Источник

Код VBA

как вставить и запустить код vba в excel. vba code. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-vba code. картинка как вставить и запустить код vba в excel. картинка vba code. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

Код Excel VBA

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

Как открыть окно Visual Basic?

Если вы хотите написать код Visual Basic, мы должны написать его в окне Visual Basic. Вопрос здесь в том, где находится окно Visual Basic в Excel и как его открыть. Ответ заключается в выборе меню « Разработчик» и в меню разработчика выберите « Visual Basic», как показано на рисунке ниже.

как вставить и запустить код vba в excel. vba code. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-vba code. картинка как вставить и запустить код vba в excel. картинка vba code. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

Который откроет пустое окно, как показано ниже.

как вставить и запустить код vba в excel. vba code 2. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-vba code 2. картинка как вставить и запустить код vba в excel. картинка vba code 2. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

Легко и круто выглядит правильно. Но если Excel не имеет вкладки разработчика. Нам нужно добавить вкладку разработчика с помощью следующих шагов.

как вставить и запустить код vba в excel. vba code 2. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-vba code 2. картинка как вставить и запустить код vba в excel. картинка vba code 2. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

Шаг 2: Появится раскрывающийся список, нажмите на вкладку « Параметры ».

как вставить и запустить код vba в excel. vba code 3. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-vba code 3. картинка как вставить и запустить код vba в excel. картинка vba code 3. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

как вставить и запустить код vba в excel. vba code 3. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-vba code 3. картинка как вставить и запустить код vba в excel. картинка vba code 3. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

Шаг 4: Когда мы перетаскиваем параметры настройки ленты, мы находим параметр для разработчика (Custom), нам нужно установить этот флажок, который позволит нам использовать VBA в Excel.

как вставить и запустить код vba в excel. vba code 4. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-vba code 4. картинка как вставить и запустить код vba в excel. картинка vba code 4. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

Где написать код в Excel VBA?

как вставить и запустить код vba в excel. vba code 5. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-vba code 5. картинка как вставить и запустить код vba в excel. картинка vba code 5. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

Если мы добавим несколько листов в нашу книгу, это позволит использовать разные модули листов.

Код модуля листа: независимо от того, какой код события мы напишем в модуле листа, он будет применяться только к этому листу.

как вставить и запустить код vba в excel. vba code 6. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-vba code 6. картинка как вставить и запустить код vba в excel. картинка vba code 6. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

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

Модуль ThisWorkbook

Какой бы код не был написан в этом модуле, он будет применяться ко всем листам в рабочей книге. Предположим, что если мы напишем код события для рабочей книги, то всякий раз, когда это событие происходит на каком-либо из листов рабочей книги, будет выполняться макрос. Предположим, что если мы напишем событие для «Новый лист», то всякий раз, когда мы создаем новый лист, для этой книги будет запускаться макрос.

как вставить и запустить код vba в excel. vba code 7. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-vba code 7. картинка как вставить и запустить код vba в excel. картинка vba code 7. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

Модуль: Обычно мы будем писать код в модулях на VBA. Нам нужно вставить модуль, щелкнув по меню «Вставка» и выбрав опцию модуля, чтобы вставить модуль.

как вставить и запустить код vba в excel. vba code 4. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-vba code 4. картинка как вставить и запустить код vba в excel. картинка vba code 4. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

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

Примеры написания и запуска кода в Excel VBA

Ниже приведены различные примеры написания и запуска кода с использованием кода VBA в Excel.

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

как вставить и запустить код vba в excel. vba code 8. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-vba code 8. картинка как вставить и запустить код vba в excel. картинка vba code 8. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

Выполните следующие шаги, чтобы написать код в Excel VBA.

Шаг 1: Любая программа в VBA начинается с дополнительного ключевого слова и имени программы с открытыми и закрытыми скобками, как показано ниже. Когда мы введем после скобок автоматически появится «End Sub».

как вставить и запустить код vba в excel. vba code 9. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-vba code 9. картинка как вставить и запустить код vba в excel. картинка vba code 9. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

Шаг 2: между ними мы должны написать наш код.

как вставить и запустить код vba в excel. vba code 10. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-vba code 10. картинка как вставить и запустить код vba в excel. картинка vba code 10. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

Шаг 3: Мы можем запустить код, нажав F5 или щелкнув по кнопке запуска вверху, которая отмечена черным цветом.

как вставить и запустить код vba в excel. vba code 11. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-vba code 11. картинка как вставить и запустить код vba в excel. картинка vba code 11. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

Шаг 4: Как только мы нажмем на запуск, всплывающее окно попросит выполнить запуск, как показано ниже. Если доступно несколько макросов, необходимо выбрать правильный макрос и нажать кнопку запуска.

как вставить и запустить код vba в excel. vba code 12. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-vba code 12. картинка как вставить и запустить код vba в excel. картинка vba code 12. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

Шаг 5: перейдите в Excel и проверьте, появляются ли результаты, как показано ниже.

как вставить и запустить код vba в excel. vba code 13. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-vba code 13. картинка как вставить и запустить код vba в excel. картинка vba code 13. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

Если мы хотим запустить макрос из самого листа с помощью фигуры, мы можем это сделать. Выполните следующие шаги, чтобы назначить макрос фигурам.

Шаг 1: Перейдите на «Вставка» и выберите фигуру по вашему желанию.

как вставить и запустить код vba в excel. vba code 14. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-vba code 14. картинка как вставить и запустить код vba в excel. картинка vba code 14. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

Шаг 2: После выбора формы нарисуйте это на своем рабочем листе.

как вставить и запустить код vba в excel. vba code 15. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-vba code 15. картинка как вставить и запустить код vba в excel. картинка vba code 15. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

Шаг 3: Теперь мы можем написать текст, например, «нажмите здесь» или «запустить макрос» в этой форме. Для добавления текста просто щелкните правой кнопкой мыши на фигуре и выберите Редактировать текст

как вставить и запустить код vba в excel. vba code 16. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-vba code 16. картинка как вставить и запустить код vba в excel. картинка vba code 16. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

Шаг 4: Добавьте слово согласно вашему желанию. Я добавил слово « Run Macro ».

как вставить и запустить код vba в excel. vba code 17. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-vba code 17. картинка как вставить и запустить код vba в excel. картинка vba code 17. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

Шаг 5: Теперь нам нужно назначить макрос для этой фигуры, для этого выберите фигуру, щелкните правой кнопкой мыши и выберите « Назначить макрос ».

как вставить и запустить код vba в excel. vba code 18. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-vba code 18. картинка как вставить и запустить код vba в excel. картинка vba code 18. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

Шаг 6: появится всплывающее окно с запросом выбора макроса. Выберите имя макроса и нажмите кнопку ОК.

как вставить и запустить код vba в excel. vba code 19. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-vba code 19. картинка как вставить и запустить код vba в excel. картинка vba code 19. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

Шаг 7: Теперь, если мы нажмем на форму, макрос запустится и выдаст результат, как показано ниже.

как вставить и запустить код vba в excel. vba code 20. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-vba code 20. картинка как вставить и запустить код vba в excel. картинка vba code 20. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

Как сохранить макрокоманду?

Мы все знаем, как сохранить рабочую книгу. Сохранение макроса также не изменилось, но есть одно небольшое изменение. У нас есть два разных способа сохранить наши макро-файлы.

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

как вставить и запустить код vba в excel. vba code 21. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-vba code 21. картинка как вставить и запустить код vba в excel. картинка vba code 21. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

По умолчанию мы можем использовать « книгу с макросами Excel ». В случае, если вы хотите использовать в качестве стандартного файла в качестве отправной точки для других файлов, используйте формат «Шаблон макросов Excel».

То, что нужно запомнить

Рекомендуемые статьи

Это руководство по VBA Code в Excel. Здесь мы узнаем, как копировать, вставлять и запускать код VBA в Excel вместе с простыми и практичными примерами. Ниже приведены несколько полезных статей о Excel, связанных с VBA.

Источник

Несколько советов по работе с VBA в Excel

как вставить и запустить код vba в excel. image loader. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-image loader. картинка как вставить и запустить код vba в excel. картинка image loader. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.
Добрый день!

Некоторое время назад меня попросили «помочь с Экселем», а потом и работа подвернулась такая, так что за последние пару месяцев я узнал много полезного, чем и хочу поделиться в догонку к недавней статье.

Предполагается, что вы знаете основы Visual Basic. Я не буду рассказывать, как создавать формы или модули, здесь только примеры кода.

Visual Basic

Опции

Во-первых, в VB массивы могут начинаться с индекса 1, что для многих странно, поэтому в начале модулей можно прописывать:

Так же рекомендуется прописать:

В этом случае интерпретатор потребует заблаговременного объявления всех переменных. Переменные объявлять нужно потому, что:
— VB запомнит их нАпиСание и не будет исправлять во всём коде на последний введенный вариант;
— иногда возникают ошибки с передачей переменных byRef, если они не объявлены (то есть надо или объявить переменную, или приписать в функции/процедуре перед ней byVal).

Ещё одним важным оператором является ON ERROR. Привожу варианты:

Возможности языка

Хотя VB довольно прост, полезно почитать документацию по его синтаксису. Я, например, с удивлением узнал, что можно прописывать сложные усолвия в SELECT’ах (аналог switch):

Ускорение работы макросов

Часто макросы требуют долгого времени выполнения, которое можно значительно сократить. В начале и в конце каждой ресурсоёмкой функции вызвать Prepare и Ended.

По порядку:
1. Отключить перерисовку объектов на экране, чтобы ничего не мигало.
2. Выключить расчет. Внимание, если макрос прерваляс посреди работы, то расчет так и останется в ручном режиме!
3. Не обрабатывать события.
4. Отображение границ страниц, тоже почему-то помогает.
5. В статусной строке выводятся различные данные, что замедляет работу, отключаем.
6. Это если нужно. Выключает сообщения Экселя. Например, мы делаем Workbook.Close, Эксель хочет спросить сохранить ли изменения. При выключении этого параметра все ответы будут даны автоматически (изменения не сохранятся).

Важно понимать, что VBA выполняет все действия так же, как и пользователь. Поэтому для того, чтобы установить параметры страницы, он каждый раз открывает и закрывает окно параметров. У меня выставлялись параметры для 10 листов, это реально не быстро. Поэтому делаем так:

Далее, часто нужно просмотреть различные диапазоны ячеек и что-то с ними сделать. Тут важно не использовать циклы for с перебором индексов, они медленные. Можно использовать встроенные функции Экселя, но удобнее всего такой вариант:
Данный код просматривает указанный диапазон, выбирает в нем «специальные ячейки», в данном случае все, в которых есть формулы (т.е. начинаются со знака равно). Для каждой ячейки смотрится, если она не закрашена, то её надо защитить (см. далее) и покрасить. Такой код работает очень быстро.

Для любых переменных, которым вы собираетесь присвоить книгу, лист, диапазон (ячейку) нужно предварительно объявить как Variant.

Естественно, что если вам нужны однотипные значения в ячейках, нужно использовать автозаполнение, всё равно как «растягивание» ячеек пользователем.

Второй диапазон должен включать первый, а второй необязательный параметр указывает тип автозаполнения.

Загрузка книги и события

При открытии книги каждый раз срабатывает процедура.
В данном случае настройки печати (поля, ориентация) сбрасываются на дефолтные. Можно и другую инициализацию выполнять. Важно, что если макросы отключены, то и не выполнится ничего. Если в Экселе вылезла вверху панелька с предупреждением о макросах и пользователь нажал «Включить», то именно в этот момент выполнится процедура Workbook_open().

Список доступных событий можно посмотреть вверху редактора VB. Например, я делал на событие Change проверку, где лежит ячейка, в которой было изменения, и если это нужный диапазон, то делалась запись в лог со старым и новым значением.

Защита

Во-первых сразу отмечу, что MS Office не исполняет макросы на компьютерах, где он не нашел антивируса, если книга зашифрована. Сталкивался на компьютерах, где антивирус был, но видимо Windows XP об этом не знала.

Ещё антивирус может странным образом мешать работе, вызывать ошибки, не совсем объяснимые. Показал айтишникам, сказали ок, что-то сделали, не знаю.

Итак, нам надо защитить книгу, чтобы ввод был разрешен только в нужные ячейки (формулы и заголовки поменять нельзя). Во-первых, нужно сделать соответствующие ячейки «не защищенными». Для этого делаем одно из:
— выделяем диапазон, формат ячеек, снять галочку «Блокировать ячейку»;
— выводим кнопку «Блокировать ячейку» в быстрый доступ и нажимаем её, очень удобно смотреть на неё чтобы понять, защищена ячейка или же нет;
— а это пригодится, чтобы проверить третий вариант — написать макрос, который снимает защиту с нужных ячеек сам.

Далее нужно защитить лист. На вкладке Рецензирование есть такая кнопка. Окошко просит ввести пароль и установить исключения (что можно будет делать пользователю). К сожалению, список исключений маловат. Самое обидное, что нельзя разрешить сворачивать/разворачивать группы столбцов/строк. Поэтому действуем так, на загрузку книги прописываем:
Знак подчеркивания продолжает логическую строку на следующей физической строке. Итак, здесь мы:
1. Сняли защиту.
2. Включили группировку.
3. Поставили защиту, при этом:
— защита только от юзера, макросы продолжают иметь полный доступ (!), крайне важно;
— разрешили сортировку, фильтрацию и форматирование строк/столбцов (высота/ширина);
— DrawingObject в данном случае снимает защиту с примечаний к ячейкам, может и ещё с чего.

Тут мы сталкиваемся с парой сюрпризов. Во-первых, не все макросы будут работать даже так. Известный баг, ничего не сделаешь. Нельзя вставить строку, например. Приходится снимать и тут же ставить защиту. Если «злоумышленник» в этот момент нажмет ctrl+break, то защита слетит.

Во-вторых, скажем никаким способом нельзя удалять строки (AllowDeletingRows), в которых есть защищенные ячейки, хоть одна. Подробнее вот тут.

Решением (костылем) является добавление кнопки или сочетания клавиш для удаления. Заодно можно проверить, чтобы пользователь не удалил чего не надо. В Workbook_open добавляем:

Теперь процедура будет вызываться при нажатии shift+delete.
Знаю, код некрасивый, простите. Здесь я пытался проверить, что выделена строка, то есть строк там 1, а ячеек не меньше тысячи. Чтобы удалить не то, придется выделить тысячу ячеек начиная не с первого столбца. Далее проверяется имя листа и номера строк. Вместо 50 был расчет последенй строки (ведь их число меняется, если мы их удаляем и добавляем).

Заключение

VBA — весьма глючная вещь, которая позволяет сворачивать горы в MS Office. Многие предприятяи используют модели на Excel годами, и если они сделаны хорошо, то всё работает.

Для изучения VBA подходит он сам, во-первых там хорошая справка. Например, чтобы узнать все варианты что можно разрешить в методе Protect, нажимаем F1, Protect, ввод. И вуаля.

Предлагаю знатокам поделиться своим опытом, дать советы в комментариях. Спасибо за внимание, удачных разработок вам.

Источник

Как вставить и запустить код vba в excel

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

Файлы для скачивания:

ФайлОписаниеРазмер файла:Скачивания
Пример14 Кб2463

Рассмотрим два примера:

1. Ищем и используем команду

Например, нам необходима команда, которая бы вставляла в выделенные ячейки цифру «1». Запускаем поисковик, набираем поисковую фразу, получаем результаты, начинаем просматривать, находим код примерно в таком виде:

Выделяем данный код (без нумерации строк, начиная со слова Sub) и нажимаем Ctrl+C. Переходим в свою рабочую книгу MS Excel и нажимаем сочетание клавиш Alt+F11, у вас откроется окно редактора VBA:

как вставить и запустить код vba в excel. kak vstavit gotovyj makros v rabochuyu knigu 1. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-kak vstavit gotovyj makros v rabochuyu knigu 1. картинка как вставить и запустить код vba в excel. картинка kak vstavit gotovyj makros v rabochuyu knigu 1. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

как вставить и запустить код vba в excel. kak vstavit gotovyj makros v rabochuyu knigu 5. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-kak vstavit gotovyj makros v rabochuyu knigu 5. картинка как вставить и запустить код vba в excel. картинка kak vstavit gotovyj makros v rabochuyu knigu 5. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

В пункте меню «Insert» выбираем «Module»:

как вставить и запустить код vba в excel. kak vstavit gotovyj makros v rabochuyu knigu 2. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-kak vstavit gotovyj makros v rabochuyu knigu 2. картинка как вставить и запустить код vba в excel. картинка kak vstavit gotovyj makros v rabochuyu knigu 2. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

как вставить и запустить код vba в excel. kak vstavit gotovyj makros v rabochuyu knigu 3. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-kak vstavit gotovyj makros v rabochuyu knigu 3. картинка как вставить и запустить код vba в excel. картинка kak vstavit gotovyj makros v rabochuyu knigu 3. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

Переходим курсором в правое «Большое» поле для ввода и нажимаем Ctrl+V, скопированный макрос вставиться в модуль:

как вставить и запустить код vba в excel. kak vstavit gotovyj makros v rabochuyu knigu 4. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-kak vstavit gotovyj makros v rabochuyu knigu 4. картинка как вставить и запустить код vba в excel. картинка kak vstavit gotovyj makros v rabochuyu knigu 4. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

После чего закрываем редактор VBA и возвращаемся в рабочую книгу.

Если вы работаете в MS Excel 2007, 2010 или 2013, вам необходимо будет сохранить вашу рабочую книгу как «Книга Excel с поддержкой макросов (.xlsm)»:

как вставить и запустить код vba в excel. kak vstavit gotovyj makros v rabochuyu knigu 16. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-kak vstavit gotovyj makros v rabochuyu knigu 16. картинка как вставить и запустить код vba в excel. картинка kak vstavit gotovyj makros v rabochuyu knigu 16. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

В MS Excel 2003 достаточно будет просто сохранить файл.

Чтобы выполнить скопированный в книгу макрос выделяем ячейки, в которые необходимо вставить «1», нажимаем в меню «Вид» кнопку «Макросы» и в выпавшем списке выбираем пункт «Макросы» или нажимаем сочетание клавиш Alt+F8:

как вставить и запустить код vba в excel. kak vstavit gotovyj makros v rabochuyu knigu 8. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-kak vstavit gotovyj makros v rabochuyu knigu 8. картинка как вставить и запустить код vba в excel. картинка kak vstavit gotovyj makros v rabochuyu knigu 8. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

Откроется диалоговое окно «Макрос», в списке макросов выбираем свой и нажимаем кнопку «Выполнить»:

как вставить и запустить код vba в excel. kak vstavit gotovyj makros v rabochuyu knigu 9. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-kak vstavit gotovyj makros v rabochuyu knigu 9. картинка как вставить и запустить код vba в excel. картинка kak vstavit gotovyj makros v rabochuyu knigu 9. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

как вставить и запустить код vba в excel. kak vstavit gotovyj makros v rabochuyu knigu 20. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-kak vstavit gotovyj makros v rabochuyu knigu 20. картинка как вставить и запустить код vba в excel. картинка kak vstavit gotovyj makros v rabochuyu knigu 20. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

Макросы в MS Excel можно вставлять в следующие места:

Обычно, человек, который публикует код, указывает, куда его необходимо вставить, в модуль, в лист или книгу.

Чтобы вставить код в Рабочий лист, в левом окне редактора VBA выберите соответствующий лист, щелкните по нему два раза левой кнопкой мышки, переместите курсор в правое поле ввода и вставьте код.

как вставить и запустить код vba в excel. kak vstavit gotovyj makros v rabochuyu knigu 10. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-kak vstavit gotovyj makros v rabochuyu knigu 10. картинка как вставить и запустить код vba в excel. картинка kak vstavit gotovyj makros v rabochuyu knigu 10. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

Для вставки кода в Книгу, выберите «ЭтаКнига»:

как вставить и запустить код vba в excel. kak vstavit gotovyj makros v rabochuyu knigu 17. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-kak vstavit gotovyj makros v rabochuyu knigu 17. картинка как вставить и запустить код vba в excel. картинка kak vstavit gotovyj makros v rabochuyu knigu 17. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

Давайте потренируемся. Вставьте код опубликованный ниже в «Лист1».

Данный макрос выводит информационное сообщение если вы введете в любую ячейку листа «2».

Вернитесь в рабочую книгу, перейдите в «Лист1» и введите в ячейку «А1» цифру «2» и нажмите Enter, после чего у вас должно появиться следующее сообщение:

как вставить и запустить код vba в excel. kak vstavit gotovyj makros v rabochuyu knigu 11. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-kak vstavit gotovyj makros v rabochuyu knigu 11. картинка как вставить и запустить код vba в excel. картинка kak vstavit gotovyj makros v rabochuyu knigu 11. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

Если вы видите это сообщение, то вы все сделали правильно. Если нет, то вы вставили код куда-то не туда, повторите попытку.

При вставке кода, необходимо внимательно следить за тем, куда вы его вставляете. Это можно сделать посмотрев на то, что написано в заголовке окна редактора VBA:

как вставить и запустить код vba в excel. kak vstavit gotovyj makros v rabochuyu knigu 21. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-kak vstavit gotovyj makros v rabochuyu knigu 21. картинка как вставить и запустить код vba в excel. картинка kak vstavit gotovyj makros v rabochuyu knigu 21. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

2. Ищем и используем функцию

Находим в интернете VBA код функции, которая подсчитывает, например, количество слов в ячейке:

Копируем код, нажимаем сочетание клавиш Alt+F11, откроется редактор VBA:

как вставить и запустить код vba в excel. kak vstavit gotovyj makros v rabochuyu knigu 22. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-kak vstavit gotovyj makros v rabochuyu knigu 22. картинка как вставить и запустить код vba в excel. картинка kak vstavit gotovyj makros v rabochuyu knigu 22. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

Добавляем новый модуль в свою книгу и в этот модуль вставляем скопированный код:

как вставить и запустить код vba в excel. kak vstavit gotovyj makros v rabochuyu knigu 23. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-kak vstavit gotovyj makros v rabochuyu knigu 23. картинка как вставить и запустить код vba в excel. картинка kak vstavit gotovyj makros v rabochuyu knigu 23. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

Закрываем редактор VBA и переходим в свою рабочую книгу. Создаем новый лист (необязательно) в ячейку A1 вводим текст «мама мыла раму». Встаем в ячейку, в которой хотим получить результат (количество слов), в меню «Формулы» нажимаем кнопку «Вставить функцию»:

как вставить и запустить код vba в excel. kak vstavit gotovyj makros v rabochuyu knigu 12. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-kak vstavit gotovyj makros v rabochuyu knigu 12. картинка как вставить и запустить код vba в excel. картинка kak vstavit gotovyj makros v rabochuyu knigu 12. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

В открывшемся окне «Вставка функции» в поле «Категория» выбираем «Определенные пользователем»

как вставить и запустить код vba в excel. kak vstavit gotovyj makros v rabochuyu knigu 13. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-kak vstavit gotovyj makros v rabochuyu knigu 13. картинка как вставить и запустить код vba в excel. картинка kak vstavit gotovyj makros v rabochuyu knigu 13. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

В списке доступных функций выбираем «КолСловВЯчейке», нажимаем «ОК»:

как вставить и запустить код vba в excel. kak vstavit gotovyj makros v rabochuyu knigu 14. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-kak vstavit gotovyj makros v rabochuyu knigu 14. картинка как вставить и запустить код vba в excel. картинка kak vstavit gotovyj makros v rabochuyu knigu 14. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

Вводим необходимые аргументы и нажимаем «ОК»:

как вставить и запустить код vba в excel. kak vstavit gotovyj makros v rabochuyu knigu 15. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-kak vstavit gotovyj makros v rabochuyu knigu 15. картинка как вставить и запустить код vba в excel. картинка kak vstavit gotovyj makros v rabochuyu knigu 15. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

как вставить и запустить код vba в excel. kak vstavit gotovyj makros v rabochuyu knigu 24. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-kak vstavit gotovyj makros v rabochuyu knigu 24. картинка как вставить и запустить код vba в excel. картинка kak vstavit gotovyj makros v rabochuyu knigu 24. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

Важно:

Если вы не сохраните книгу, в которую вставили макрос как «Книгу с поддержкой макросов», все модули с макросами удаляться и вам придется, потом, повторно проделывать всю эту работу.

Если при вставке макроса в модуль у вас вместо некоторого текста стоят красные знаки » . «

как вставить и запустить код vba в excel. kak vstavit gotovyj makros v rabochuyu knigu 6. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-kak vstavit gotovyj makros v rabochuyu knigu 6. картинка как вставить и запустить код vba в excel. картинка kak vstavit gotovyj makros v rabochuyu knigu 6. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

Это значит, что у вас проблема с кодировкой, которая наблюдается с копированием Кириллического текста из некоторых браузеров. Чтобы победить эту проблему, попробуйте вставить скопированный код в пустой лист MS Excel, как «Текст в кодировке Unicode». Для этого перейдите в книгу MS Excel, выберите или создайте пустой лист, встаньте в ячейку «A1» и нажмите сочетания клавиш Ctrl+Alt+V. Должно будет появиться меню «Специальной вставки», выберите пункт «Текст в кодировке Unicode» и нажмите «OK».

как вставить и запустить код vba в excel. kak vstavit gotovyj makros v rabochuyu knigu 7. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-kak vstavit gotovyj makros v rabochuyu knigu 7. картинка как вставить и запустить код vba в excel. картинка kak vstavit gotovyj makros v rabochuyu knigu 7. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

Код должен будет вставиться в рабочий лист без знаков вопроса:

как вставить и запустить код vba в excel. kak vstavit gotovyj makros v rabochuyu knigu 18. как вставить и запустить код vba в excel фото. как вставить и запустить код vba в excel-kak vstavit gotovyj makros v rabochuyu knigu 18. картинка как вставить и запустить код vba в excel. картинка kak vstavit gotovyj makros v rabochuyu knigu 18. Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

После этого, еще раз скопируйте вставленный в лист код, и вставить его уже в модуль.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *