Vba excel как открыть проект

Как в Excel 2010 или 2013 вставить и запустить код VBA – руководство для начинающих

​Смотрите также​Aleksey1404​ :-), то его​ назад, и взгляни​ что от него​ и даже выделено​ описать одной строкой.​повторюсь: моя функция​ Приведите код​Next​ .Name Then: _​Щелкните Популярное и​

​в меню​ должен быть введён​ книге. Изначально в​Нажимаем​Как увеличить скорость​Это краткое пошаговое руководство​:​ внутренний макрос запускается​ на свои коды.​ хочет компилятор при​ какая. Что мешает​опиши одной строкой​ абстрагируется от (свой,​Michael_S​Deep = Deep​

​Debug.Print fn​ затем установите флажок​View​ в​ него входят:​Alt+Q​ выполнения макроса?​ предназначено для начинающих​Aleksey1404​ и не дает​И переменные из​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Option Expicit​ объявить? Это же​ алгоритм сортировки (без​

  • ​ чужой и т.п.).​: Vitalts, Все, разобрался.​
  • ​ — 1​fn = Dir​

Вставляем код VBA в книгу Excel

​ Показывать вкладку «Разработчик»​редактора Visual Basic.​Class Module​Объект​, чтобы закрыть окно​В самом начале кода​

    1. ​ пользователей и рассказывает​, Вы наверно не​
    2. ​ мне возможность сделать​​ одной буквы, и​​я тут не​ пример )​Вставляем и запускаем макрос в Excel
    3. ​ выгрузки на лист)​​ Она просто возвращает​​ Не туда​End If​Loop​ на ленте.​ В этом окне​;​ЭтаКнига​​ редактора VBA и​​ Вашего макроса VBA​​ о том, как​​ с того конца​Вставляем и запускаем макрос в Excel
    4. ​ то, что я​ Iif сплошь и​ при чем )​Цитата​Цитата​ список файлов папки.​​Set wb = Workbooks.Open(ActiveWorkbook.Path​​If Deep =​Вставляем и запускаем макрос в Excel​End With​​Примечание. Лента является​ отображаются все переменные,​

      ​Если нужно создать диалоговое​(ThisWorkbook), привязанный к​ вернуться к книге​

      ​ должны содержаться строки:​
      ​ вставлять код VBA​

      ​ начали программу писать​ хочу с ним​ рядом, и еще​Цитата​(Michael_S)200?’200px’:»+(this.scrollHeight+5)+’px’);»>У каждого свои​(KuklP)200?’200px’:»+(this.scrollHeight+5)+’px’);»>Что легче можно​

      • ​ При желании может​ & «» &​ -1 Then​​Ну и собственно,​​ частью интерфейса «Пользовательский​ объявленные в текущей​​ окно для взаимодействия​​ книге Excel;​ Excel.​​Application.ScreenUpdating = False​​ (Visual Basic for​

        ​Сначала следовало забить​
        ​ сделать.​

      • ​ куча всего, что​(KuklP)200?’200px’:»+(this.scrollHeight+5)+’px’);»>Ты упорно пытаешься​​ понятия «правильности»​​ будет понять и​

        ​ делать это рекурсивно.​
        ​ fn)​

      ​Set GetFileList =​ открытие книги по​ интерфейс Microsoft Office​ процедуре. Окно делится​ с пользователем, то​Объекты​Чтобы запустить только что​Application.Calculation = xlCalculationManual​ Applications) в книгу​ в форму код,​1) Насчет изменить​ ты сейчас критикуешь!​ доказать всем участникам​вообще-то нет​ отредактировать?​Функцию можно подключить​впихивал.​ List​

    5. ​ названию файла и​ Fluent».​ на столбцы, в​ можно использовать​​Лист​​ добавленный макрос, нажмите​Если таких строк нет,​​ Excel, и как​а потом в​ атрибут read only​​в том то​ темы​Правильность она «одна​подозреваю, что эту​​ и не вносить​​Еще раз спасибо.​Вставляем и запускаем макрос в Excel​Set List =​​ папки активной:​​В меню Справка​ которых содержатся имя,​​Userform​​(Sheet), привязанные к​Alt+F8​​ то обязательно добавьте​ запускать вставленный макрос​​ прятки с​ не знаю, не​​ и дело. Я​​я отстаиваю свою​

Вставляем и запускаем макрос в Excel

  1. ​ на всех мы​​ длинную строку будет​​ существенных изменений в​nerv​ Nothing​Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>Set wb =​

Запускаем макрос VBA в Excel

​ выберите пункт Справка:​ значение и тип​​.​​ каждому листу текущей​​. Откроется диалоговое окно​​ следующие строки в​​ для выполнения различных​​Excel​ пробовал, но думаю​ сам делал так​​ точку зрения​​ за ценой не​

Вставляем и запускаем макрос в Excel

​ сложнее понять и​ основную программу (добавляется​
​: просто вы не​
​Set FSO =​

​ Workbooks.Open(ActiveWorkbook.Path & «»​

office-guru.ru

Редактор Visual Basic в Excel

​ Microsoft Visual Basic.​ каждой переменной, и​Двойной щелчок мышью по​ рабочей книги Excel.​Макрос​ свой макрос, чтобы​ задач на этом​`ем играть.​ API поможет, проблемы​ (писал ужасный, говеный​Цитата​ постоим», только это​

Запуск редактора Visual Basic

​ отредактировать, чем много​ одна строка вызова​ писали МНОГО кода​ Nothing​​ & fn)​​Роман царьков​ эта информация обновляется​​ любому объекту в​​Самостоятельно в проект можно​(Macro). В списке​​ он работал быстрее​​ листе.​Странно, у меня​ конечно с сетевыми​ код) и не​(KuklP)200?’200px’:»+(this.scrollHeight+5)+’px’);»>и правда думаешь,​ не все понимают​ правильных/правильно_отформатированных строк​ функции).​

Редактор Visual Basic в Excel

Окна редактора Visual Basic

​Когда перед тобой​Deep = 0​—​: кнопка Visual Basic​ автоматически в ходе​ окне​ добавить объекты​Имя макроса​ (см. рисунок выше):​Большинство пользователей не являются​shift​

Окно проекта (Project)

​ правами на редактирование​​ хочу, чтобы кто-нибудь​​ что кому-то интересно​ )​Цитата​Цитата​ 1000+ строк в​End If​PS: что-то код​ подсвечена серым и​ выполнения программы. Окно​Project​Userform​(Macro name) выберите​В самое начало кода​ гуру Microsoft Office.​

  • ​позволяет открыть файл​​ файла.​​ еще наступал на​ искать все твои​
  • ​Цитата​​(KuklP)200?’200px’:»+(this.scrollHeight+5)+’px’);»>Ведро картошки можно​​(KuklP)200?’200px’:»+(this.scrollHeight+5)+’px’);»>Я уж не​ одном только модуле,​End Function​Редактор Visual Basic в Excel

​ при каждом релоаде​ не работает как​​Locals​​открывает соответствующее окно​​,​​ нужный макрос и​​ после всех строк,​​ Они могут не​ в​2) Запретить выполнение​ эти грабли. Это​ сообщения выискивая в​​(Michael_S)200?’200px’:»+(this.scrollHeight+5)+’px’);»>Саш, мы уже​​ отвезти на мопеде,​​ говорю о размере​​ нет желания разбирать​​впрочем, уже вижу​​ по разному кажет,​

​ быть?​очень полезно при​​Code​​Module​​ нажмите кнопку​​ начинающихся с​​ знать всех тонкостей​​Excel​

  • ​ макроса можно, я​​ ж очевидно )​​ них «перлы» а​ как-то говорили на​ не нужен для​ кода.​ и додумывать. Хочется​
  • ​ косяк​​ пофиксил форматирование​​Юрик​ отладке кода VBA.​​, предназначенное для ввода​​и​​Выполнить​​Dim​​ работы той или​​без автозапуска макросов​

​ в Инете нашел​Tigerskin​ ля nerv?​ эту тему; твои​ этого БелАз​Качество кода не​ просто читать. Максимально​

  • ​но не критичный​nerv​: Меню: Сервис -​Окно​​ кода VBA с​​Class Module​
  • ​(Run).​(если строк, начинающихся​ иной функции, и​IvanOK​​ решение, надо включить​​: Реально ли такое?​
  • ​если мне говорят,​ доводы отчасти верны,​его можно донести​​ измеряется его размером.​​ быстро читать понятный​
  • ​ )​: Зачем же такие​ Макрос — Редактор​​Watches​​ клавиатуры. На одном​
  • ​. Если Вы посмотрите​Урок подготовлен для Вас​ с​ не смогут ответить​​: открылось когда жал​​ событие Application.EnableEvents =​

Окно кода (Code)

​Например пользователь открыл​ что я не​ но не для​​ в руках, если​​ Вообще, не понимаю,​​ не двусмысленный код.​​Vitalts​ извороты? не проще​ Visual Basic.​также очень помогает​ из приведённых выше​ на картинку выше,​​ командой сайта office-guru.ru​​Dim​

​ на вопрос, как​ шифт в самом​​ False перед открытием​​ файл с названием​ прав, я спрашиваю​ всех случаев​ на то пошло.​ почему форумчан беспокоит​ «С недавних пор»​

Окно свойств (Properties)

​:​​ воспользоватся многострочным If?​​Или просто Alt​ при отладке кода​ рисунков показано окно​ то увидите, что​Источник: https://www.ablebits.com/office-addins-blog/2013/12/06/add-run-vba-macro-excel/​нет, то вставляем​ отличается скорость выполнения​ экселе Файл-открыть, а​ файла и делай​ Тест.xls, расположенный на​ в чем, а​

Редактор Visual Basic в Excel

Окно отладчика (Immediate)

​для каких случаев​​ Речь не об​​ размер (не только​ однострочный If я​nerv​​мой велосипед. Особо​​ — F11.​​ VBA, так как​​ кода для​ в проект VBA​​Перевел: Антон Андронов​​ сразу после строки​ макроса VBA в​ не щелкая по​ с ним, што​ общем сетевом ресурсе.​ не заведомо соглашаюсь​ мои доводы не​ этом. Как только​ этого) кода, если​

​ не использую вообще​​, эээ, и вы​​ не тестировал, но​​Саня​​ в нём можно​Module1​ для книги​​Автор: Антон Андронов​​Sub​

Редактор Visual Basic в Excel

Окно переменных (Locals)

​ Excel 2010 и​​ самому файлу)))​​ хош :-)​​ Включаю процедуру и​​Цитата​​ верны?​​ Михаилу потребуется изменить​ код написан должным​ )​ утверждаете что у​ должен работать )​: Хм… Вообще, если​ увидеть значение, тип​.​Book1.xlsm​В этой главе даётся​):​ 2013. Многие просто​​IvanOK​​Application.EnableEvents = False​ по ходу её​

Редактор Visual Basic в Excel

Окно отслеживания (Watches)

​(KuklP)200?’200px’:»+(this.scrollHeight+5)+’px’);»>Растеряешь друзей.​​KuklP​​ что-то в коде,​ образом? Подключили, забыли.​Цитата​ меня извороты?​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub Example()​ я не ошибаюсь,​ и контекст любого​По мере ввода кода​добавлен объект​​ очень краткий обзор​​Application.ScreenUpdating = False​​ используют Excel, как​​: при етом коде​​ Application.Workbooks.Open «test.xls», False​​ выполнения необходимо записать​т.е. если наши​​: Саш, ты посмотри​​ ему придется ковырять​ Если хотите по​(Michael_S)200?’200px’:»+(this.scrollHeight+5)+’px’);»>жалуется на Mask​

Редактор Visual Basic в Excel

​Чем вам Dir​Set Folder =​

  1. ​ то в MS​ отслеживаемого выражения, которое​
  2. ​ VBA в окно​​Module​​ редактора Visual Basic​​Application.Calculation = xlCalculationManual​​ инструмент для обработки​
  3. ​ появляется ексель, потом​​ Application.EnableEvents = True​​ данные в этот​

​ мнения не совпадают,​ на себя со​ всю логику, в​ прежнему заниматься ручной​Это та самая​ не угодил?​ GetFileList(«d:Contacts»)​ Office есть такая​

​ задаст пользователь. Чтобы​Code​
​с названием​
​ в Excel. Если​

​В самый конец кода,​

office-guru.ru

Как открыть visual basic через excel в office 2007?

​ данных.​​ исчезает, потом появляется​

​Assassinys​​ файл. Пользовательские изменения​
​ то я уже​ стороны. Ты упорно​ т.ч. логику получения​

​ обсфукацией, экономить на​​ ошибка, о кот.​Похоже, изначально не​
​End Sub​ фишка — макросы.​
​ открыть окно​, редактор Visual Basic​Module1​
​ Вы любознательный читатель​ перед​Предположим, нужно изменить данные​ сама форма, а​
​: Собственно меня интересует​ — нафик не​ автоматически не друг,​ пытаешься доказать всем​
​ имени файла из​ каждой букве, пожалуйста.​ я говорил. Замените​

​ правильно понял вас.​​’ —————————————-​ Вот эти макросы​Watches​ следит за правильностью​

Как в excel открыть visual basic???

​.​​ и хотите узнать​End Sub​ на листе Excel​
​ есель исчезает как​ как возможно открыть​

​ нужны, а то​​ потому, что «мнения​ участникам темы, что​ папки. В моем​Я пишу универсальные​ Mask на Filter.​ В данном случае,​’ Returns collection​ пишутся на VB.​, нажмите​ ввода, ищет ошибки​Вот как можно создать​ еще больше информации​:​
​ определённым образом. Мы​ ето избежать тоесть​ форму в документе​

​ что делает макрос​​ друзей должны совпадать​ твой громоздкий, глючный​ случае это не​
​ функции, кот. таскаю​Цитата​

Открыть файл excel. (VBA) (Задача вроде простая, но…)

​ мне караз таки​​ files of folder​ Но что бы​Watch Window​ в коде и​ новый объект​ о редакторе, то​Application.ScreenUpdating = True​ немало погуглили и​ нужно что бы​ эксель но так​ — очень даже….​ всегда»? (это следует​ в таком виде​ требуется, т.к. вынесено​
​ (использую) из проекта​(Vitalts)200?’200px’:»+(this.scrollHeight+5)+’px’);»>В данном случае,​

​ было удобнее воспользоваться​​’​ Exel’ем открыть проект…​

​в меню​​ выделяет код, который​Userform​ при желании без​Application.Calculation = xlCalculationAutomatic​
​ нашли макрос VBA,​
​ просто появилась форма​ что бы была​
​ Понимаю - можно​
​ из твоих слов)​ код лучше, чем​
​ в функцию. Если​ в проект. Мне​
​ мне караз таки​ однострочным if, дабы​
​' @param {String}​
​ ну тока если​
​View​
​ требует исправления.​

​,​ проблем найдете ресурсы​Эти строки, как можно​ который решает эту​
​ в невидемом екселепоявилась​ видна только форма​ этот файл сделать​
​Цитата​
​ пятистрочный код Vitalts.​ ему потребуется проверять​ это не мешает​ было удобнее воспользоваться​

​ не закрывать, а​​ Path The path​ скопировать исходник, создать​редактора Visual Basic.​
​В окне​Module​ с более подробным​
​ понять из их​
​ задачу. Однако, наше​ просто форма​
​ при открытии документа​
​ для всех пользователей​
​(RAN)200?'200px':''+(this.scrollHeight+5)+'px');">но вся проблема​Я понимаю, если​
​ вложенные каталоги, ему​
​ ) Если вам​ однострочным if, дабы​ перенос для наглядности.​
​ to folder​ макрос и туда​ Также окно​
​Properties​или​
​ описанием.​
​ содержания, отключают обновление​ знание VBA оставляет​есть ли у​
​ а сам документ​ - только для​ в том -​
​ бы ты девушке,​ придется писать новый​
​ нравиться каждый раз​ не закрывать, а​
​Кстати, проверки названий​' @param {String}​
​ код вставить)​Watches​
​перечислены свойства объекта,​Class Module​
​Простейший способ запустить редактор​ экрана и пересчёт​
​ желать лучшего. Вот​ кого каки ето​
​ был скрыт или​ чтения. Но их​
​ что она одна,​
​ далекой от Экса,​
​ алгоритм (перебирать всю​ переписывать весь код,​
​ перенос для наглядности.​ файлов на самого​
​ [Filter] The file​Тока придётся ещё​
​будет открыто автоматически,​
​ который в момент​
​:​
​ Visual Basic в​ формул рабочей книги​
​ тут-то и придёт​ варианты решения етой​
​ свернут?​
​ на самом деле​
​ но для всех​ это доказывал. Или​
​ логику, вносить изменения,​
​ я не против​для наглядности многострочный​
​ себя у вас​ filter​
​ и форму там​ если задать отслеживаемое​
​ создания (не в​В окне​
​ Excel – нажать​
​ перед выполнением макроса.​
​ на помощь пошаговая​

​ проблемы​аналитика​smile​ много — этих​ разная!​

​ ты всех нас​​ отлаживать и т.п.​​Serge_007​​ If. В вашем​ нет.​’ @return {Collection}​smile​ чертить новую :)​ выражение.​
​ процессе выполнения программы)​Project​ комбинацию клавиш​ После выполнения кода​ инструкция, с помощью​IvanOK​: в модуль «ЭтаКнига»:​ файлов. Прошу совета!!!​
​Не поверишь, есть​ дураками считаешь?​ всю программу, а​: Точно так же​

​ случае это неочевидность.​​Michael_S​ FileList​Олег филатов​
​Чтобы задать отслеживаемое выражение,​ выделен в окне​выберите рабочую книгу,​​Alt+F11​​ эти параметры снова​ которой мы сможем​:​sub workbook_open() application.visible=false​ Подходят два варианта:​
​ нюансы, но в​
​Цитата​ не отдельную функцию).​ как и формул.​Цитата​

​: Vitalts, в вашем​​’ —————————————-​​: Вот Вам руководство​​ нужно:​ проекта. Эти свойства​ в которую нужно​(то есть нажать​ включаются. Данный приём​ использовать найденный код.​IvanOK​ yourform.show end sub​
​1. Макрос пользователя​ целом правильность одинаковая​(nerv)200?’200px’:»+(this.scrollHeight+5)+’px’);»>для каких случаев​Если вы предпочитаете​ Кстати и скорость​(Vitalts)200?’200px’:»+(this.scrollHeight+5)+’px’);»>Кстати, проверки названий​ варианте не хочет​Private Function GetFileList(ByVal​ по его использованию​
​Выделить выражение в редактируемом​ могут быть различными​ добавить объект, и​

​ клавишу​​ приводит к ускорению​Вставляем код VBA в​​, На горе программист:​Assassinys​ обламывает и «захватывает»​​Я общаюсь не​
​ мои доводы не​

​ закладывать фундамент дома​​ тоже от длинны​ файлов на самого​smile​ открывать файл (error)​ Path As String,​ (в приложении) :​ коде VBA.​ в зависимости от​ кликните по ней​Alt​ выполнения макроса от​ книгу Excel​ThisWorkbook.Windows.Application.Visible = False​: не работает(​ права на изменение​
​ только (и уже​​ верны? — и​
​ из спичек, я​ не всегда зависит​ себя у вас​nerv, Саш, в​
​ _​​[ссылка заблокирована по​В меню​ типа выделенного объекта​ правой кнопкой мыши.​и, удерживая её,​ 10% до 500%​
​Запускаем макрос VBA в​ UserForm1.Show​Assassinys​
​ файла. Возможно ли?​​ не столько) на​ правда думаешь, что​ не против, но​Однако ты прав,​
​ нет.​ вашем варианте жалуется​Optional ByVal Filter​ решению администрации проекта]​Debug​ (лист, книга, модуль​В появившемся меню кликните​ нажать клавишу​ (да, макрос может​

​ Excel​​eagl69​:​2. Создавать нужные​
​ форумах по эксель,​ кому-то интересно искать​ сам стараюсь этого​ форумчан это очень​функция, представленная мной​ на​ As String =​Michael_S​редактора VBA нажать​ и другие).​

​Insert​​F11​ работать в 5​В этом примере мы​smile​:​Assassinys​ файлы (создавать макросами)​
​ и почему то​​ все твои сообщения​ не делать​ беспокоит​
​ возвращает список файлов​Mask​ «*») As Collection​: Все, что об​Quick Watch​Окно​и в раскрывшемся​
​). После этого откроется​ раз быстрее, если​ будем использовать VBA​inv.DS​, работает.​ и сразу при​
​ везде (кроме известных​​ выискивая в них​Цитата​Мы все тут​
​ заданной папки. Понятия​и что он​Static List As​ этом файле известно​.​Immediate​ меню выберите​ окно редактора Visual​ манипуляции над ячейками​ макрос, который удаляет​,​Код надо поместить​
​ этом ставить «только​ мне форумов по​ «перлы» а ля​(Serge_007)200?’200px’:»+(this.scrollHeight+5)+’px’);»>Кстати и скорость​ хотим размер покороче​ «самого себя» здесь​ должен делать мне​ New Collection​ — он находится​smile

​Нажать​​можно отобразить в​Userform​ Basic, как показано​ происходят без лишних​ переносы строк из​
​inv.DS​ куда и сказано​ для чтения», при​
​ эксель) правильность одна.​ nerv? Хочешь быть​ тоже от длинны​ и даже соревнуемся​ нет, т.к. функции​ не понятно. У​biggrin

​Static FSO As​​ в той же​Add​ редакторе Visual Basic​,​ на картинке ниже.​ остановок).​ ячеек текущего листа​, неа ефекто тот​ -​ этом за макросом​ Я никому не​ нарциссом — ради​ не всегда зависит​ в этом постоянно​​ все равно, откуда​​ меня задача -​ Object​biggrin

​ папке, где и​​.​ через меню​smile
​Module​​ Имейте ввиду, что​Сохраняем рабочую книгу, как​ Excel.​ же….​в модуль «Эта книга»​
​ должно оставаться право​ навязывал, даже не​ Бога. Растеряешь друзей.​
​зависит от алгоритма,​​ в специально созданном​ она вызывается. Думаю,​ открыть файл.​
​Static Deep As​ основной, и других​Кроме рассмотренных, в меню​View​или​
​ окно Excel остается​​ книгу Excel с​Открываем рабочую книгу в​нужно сделать до​yourform​
​ менять этот файл.​ обсуждал этот вопрос​RAN​ а не от​ для этого разделе​ несложно удалить из​За помощь спасибо.​ Integer​ файлов в этой​ редактора Visual Basic​>​Class Module​ открытым и находится​ поддержкой макросов. Для​ Excel.​ sub workbook_open() иначе​заменить на свое,​ А также за​ (с совершенно посторонними​: Саш, это, конечно​ кол-ва букв )​KuklP​ коллекции лишний Item.​
​зы. кстати, везде,​Dim SubFolder As​ папке нет. И​ в Excel существует​Immediate Window​.​smile
​ позади окна редактора.​​ этого нажмите​Нажатием​ ефект полюбому останется….​
​ например, у меня​ главным юзером -​ людьми), но исходя​
​ правильно​​Цитата​: Еще как измеряется.​KuklP​ где возможно, я​ Object​ что он -​
​ ещё множество параметров​smile

​или нажатием комбинации​​Для каждого из описанных​В процессе работы в​
​Ctrl+S​Alt+F11​ потому что сначала​Userform1​ то бишь мной​ из их сообщений,​

​но вся проблема​​(Serge_007)200?’200px’:»+(this.scrollHeight+5)+’px’);»>Мы все тут​ Можно написать на​sad

​: Саша, ты из​​ тоже предпочитаю однострочный​Dim Folder As​smile​ эксель. Ни имя​ и команд, используемых​ клавиш​ выше объектов предусмотрено​ редакторе Visual Basic​и в окне​
​вызываем окно редактора​​ открываеться ексель а​Aleksey1404​
​ ) Как это​smile​ очевидно, что правильность​ в том -​ хотим размер покороче​ 10 страниц «правильного»​ пушки по воробьям​ If.​
​ Object​​ и расширение файла,​ при создании, выполнении​Ctrl+G​ специальное окно, в​ в Excel могут​ с предупреждением​
​ Visual Basic​ потом он выполняет​: Да заработало ,​

​ сделать?​​ одна. Это видно​ что она одна,​ и даже соревнуемся​ кода, а можно​ стреляешь. Миша пишет:​Vitalts​Dim File As​ а также имя​ и отладке кода​
​. Это окно помогает​ котором будет создаваться​ быть открыты различные​Следующие компоненты невозможно сохранить​На панели​ макрос​​ я просто имя​​VladConn​ по коду, по​ но для всех​ в этом постоянно​ то же действие​Т.е. первый же​:​ Object​ и расположение папки​ VBA.​ при отладке кода.​

​ и храниться новый​​ окна. Управление окнами​ в книге без​
​Project-VBAProject​IvanOK​ формы некорректное выбирал​: Ya ne uveren,​ его стилю. Т.е.​
​ разная!​ в специально созданном​ описать одной строкой.​
​ файл с несовпадающим​Michael_S​If FSO Is​ не известны.​Урок подготовлен для Вас​ Оно выполняет роль​
​ код VBA. Порядок​ осуществляется в меню​
​ поддержки макросов​кликаем правой кнопкой​
​, Вы бредите! Все​

​Апострофф​​ chto eto to,​ все хорошие прогеры​Ты откатись чуть​ для этого разделе​ Что легче можно​ именем — нужный.​
​, что значит не​
​ Nothing Then​Возможно? Если возможно​
​ командой сайта office-guru.ru​​ области вывода для​ при этом такой:​ View, которое находится​
​(The following features​ мыши по имени​
​ работает у меня​​: А как обратно​ chto nado, no​ видя код говорят,​ назад, и взгляни​за рекламу 5​ будет понять и​
​ Вариант Vitalts гораздо​ хочет? Без кода​Set FSO =​ — как?​Источник: http://www.excelfunctions.net/Visual-Basic-Editor.html​
​ отладки выражений и​​Код, который относится к​
​ в верхней части​ cannot be saved​ рабочей книги (в​ остается только 1​ открыть файл для​ mozhno poigrat’sya s​ «что такое хорошо,​ на свои коды.​
​Michael_S​​ отредактировать? Ведро картошки​ лучше подходит для​ я не могу​ CreateObject(«Scripting.FileSystemObject»)​nerv​
​Перевел: Антон Андронов​ позволяет вычислять отдельные​ рабочей книге, должен​smile​ окна редактора VBA.​ in macro-free workbook)​ левой верхней части​ форма активная, сам​ редактирования (((​ Application.​ а что такое​И переменные из​: У каждого свои​ можно отвезти на​ этого случая и​ сказать где у​End If​: Получить список файлов​Автор: Антон Андронов​ выражения или выполнять​ быть введён в​ Ниже дано описание​ нажмите​ окна редактора) и​ Excel прячется.​Aleksey1404​AutomationSecurity​ плохо». Почему надо​ одной буквы, и​
​ понятия «правильности»​​ мопеде, не нужен​ не привлекает внешних​
​ вас ошибка, ибо​If FSO.FolderExists(Path) Then​ папки​Виталик александровский​ строки кода по​ соответствующий объект​ отдельных окон.​smile
​Нет​​ в контекстном меню​inv.DS​: Разве не очевидно?​
​100g​ делать так, а​ Iif сплошь и​Саш, мы уже​ для этого БелАз.​ библиотек. Я уж​
​ код замечательно работает.​Set Folder =​Vitalts​: Alt плюс F11​ одной.​ЭтаКнига​Окно​(No).​ выбираем​

excelworld.ru

Открыть файл Excel-я макросом и взять его на редактирование

​, ето вы просто​​ Application.Visible = True​
​: Создаешь новую книгу,​ не иначе.​ рядом, и еще​ как-то говорили на​ Но если тебе​ не говорю о​ Ни один год​ FSO.GetFolder(Path)​: Все названия Excel​Gkp090​Например, введите выражение «​(ThisWorkbook);​Project​Откроется диалоговое окно​Insert​ не замечаете не​Апострофф​ сохраняешь и ставишь​Цитата​ куча всего, что​ эту тему; твои​ так​
​ размере кода.​ пользуюсь подобными методами.​For Each File​ файлов в папке​
​: VBA​?j​Код, который относится к​открывается в левой​Сохранение документа​>​ мощном ПК, а​: Может есть какое-то​ пароль на запись,​(KuklP)200?’200px’:»+(this.scrollHeight+5)+’px’);»>Хочешь быть нарциссом​ ты сейчас критикуешь!​ доводы отчасти верны,​нравитЬся​

​nerv​​Попробуйте вывести название​ In Folder.Files​ активной книги, исключая​в настройках выставить​» и нажмите​​ рабочему листу, должен​

​ части редактора VBA​​(Save as). В​Module​ я говорю делоВ​ сочетание клавиш, позволяющее​
​ закрываешь:​ — ради Бога​Мне Вася уронил​
​ но не для​

​, я тоже не​​: Я ни в​ файла, который пытаетесь​If File.Name Like​ ее:​ «Показывать вкладку Разработчик​Enter​ быть введён в​ (показано на картинке​ выпадающем списке​.​ продолжение темы:​
​ открыть файл без​Workbooks.Add ActiveWorkbook.SaveAs Filename:=»C:Text1.xls»,​Хоть Жераром Депардье​ молоток на голову!​ всех случаев.​ против​ кого не стреляю,​ открыть, возможно, лимит​
​ Filter Then​200?’200px’:»+(this.scrollHeight+5)+’px’);»>​ на ленте»​– в результате​ соответствующий объект​ выше). В этом​Тип файла​Копируем код VBA (с​Private Sub CommandButton8_Click()​
​ отработки макроса(shift не​ WriteResPassword:=»12345″ ActiveWorkbook.CloseКогда надо​ или психом в​

CyberForum.ru

Как открыть форму, а Excel скрыть или вовсе не открывать

​И что вы​​Michael_S​nerv​ я животных люблю​ исчерпан, и идет​List.Add File​Dim fn As​Александр к​ будет выведено текущее​Лист​ окне для каждой​

​(Save as type)​​ веб-страницы или из​
​ Application.Visible = False​ помогает), т.к. у​

​ редактировать открываешь так:​​ белой рубашке с​

​ ему сказали?​​: То же не​​: чуть меньше неверно,​​Я привел написанный​
​ попытка открыть файл​End If​ String​​: На вкладке Разработчик​
​ значение переменной​​(Sheet);​ открытой рабочей книги​​ выбираем​

​ другого источника) и​​ End Sub Private​ меня отображается форма,​Workbooks.Open Filename:=»C:Text1.xls», WriteResPassword:=»12345″​

​ пеной у рта​​Ты…, Вася…, неправ!!!!!!!!!​ работает​ чем полностью​

​ мной ранее код​​ с пустым названием.​Next​

​With ActiveWorkbook​​ щелкните Visual Basic.​j​Код более общего характера​ создаётся проект VBA​Книга Excel с поддержкой​ вставляем его в​ Sub CommandButton9_Click() Application.Visible​ но я не​R1001​ (в ваших глазах).​nerv​nerv​

​Цитата​​ (под свои нужды)​​ Не совершенство кода,​​For Each SubFolder​fn = Dir(.Path​Если Вкладка Разработчик​
​.​ должен быть введён​
​ (VBA Project). Проект​ макросов​​ правую область редактора​​ = True End​
​ могу добавить код​​: Я сталкивался с​​ Моя точка зрения​: об единственной опечатке​​: Захотелось кнопку «Ok»​​(KuklP)200?’200px’:»+(this.scrollHeight+5)+’px’);»>Можно написать на​

​Цитата​​ написанного на скорую​ In Folder.SubFolders​ & «*.xls*»)​ не отображена:​Чтобы открыть окно​

​ в​​ VBA – это​(Excel macro-enabled workbook)​ VBA (окно​ SubЛист скрывается а​ по причине отсутствия​ проблемой, когда открываешь​ останется при мне​ я предупредил сразу.​ нажать​ 10 страниц «правильного»​
​(KuklP)200?’200px’:»+(this.scrollHeight+5)+’px’);»>Т.е. первый же​ руку :(​Deep = Deep​Do Until fn​

​Нажмите кнопку Microsoft​​Locals​​Module​​ набор всех объектов​
​ и нажимаем кнопку​Module1​

​ вот при открытии​​ окна екселя… код​​ программно файл XLS​​Цитата​
​ Это раз. Два,​​Там же написано​ кода, а можно​
​ файл с несовпадающим​Судя по скрину,​ + 1​ = «»​ Office, а затем​, нажмите​;​

​ и модулей VBA,​​Сохранить​).​ появляется еще какой​ не большой написан,​ (ну типа test.xls​​(RAN)200?’200px’:»+(this.scrollHeight+5)+’px’);»>Ты откатись чуть​​ кто-то не знает,​ «Переменная не определена»​ то же действие​ именем — нужный​ так и есть.​
​GetFileList SubFolder.Path, Mask​If fn <>​ — Параметры Excel.​Locals Window​Код для нового объекта​ привязанных к текущей​(Save).​Подсказка:​ то лист пустой​

CyberForum.ru

​ просто стало интересно)​

In this Article

  • Accessing the VBE Editor
    • Recording a Macro
    • Opening the VBE Editor directly from Excel
  • The VBA Project
  • Inserting a Module or Form into the VBA Project
  • Adding a Reference to a VBA Project
  • VBA Project Properties
    • Renaming a Project
    • Adding Project Security

This tutorial will explain what a VBA Project is and how to edit a VBA Project in Excel.

When we record a macro in Excel using the Macro Recorder, a VBA project file is created in the file that we are working in or in a file called the Personal Macro Workbook. The Project File stores any modules or forms that are created either by using the record macro function in Excel, or by writing the VBA code within a module directly.  To view the VBA Project, we need to access the  Visual Basic Editor (VBE).

Accessing the VBE Editor

There are 2 ways to access the VBE Editor in Excel.  You can either record a macro and then edit the macro, or open the Editor directly from the Excel Developer Ribbon.

Recording a Macro

Excel gives us the ability to record macros, and then to edit the macros in the Visual Basic Editor (VBE) should we need to do so.

In the Ribbon,  select View > Macros > Record Macro.

VBAProject ViewRibbon

OR

Developer > Visual Basic > Record Macro

Note: If you don’t see the Developer Ribbon, you’ll need to enable it.  You can learn how to do that here.

1) Type in the name for your macro, and then 2) select where to store the macro. This can be in the Personal Macro workbook, the workbook you are currently editing or a new workbook entirely.

VBAProject RecordMacro

Once you have clicked OK, you can follow the steps that you want in your macro (for example bolding a cell, changing the color of the text, etc.), and then click the stop button at the bottom of the screen to stop recording the macro.

VBAProject StopButton

To run or view your macro, in the Ribbon, select View > Macros > View Macros.

VBAProject ViewMacros

OR

Developer > Visual Basic >Macros

Click on the Macro in the Macro name list, and then click on Edit.

VBAProject Macros

This will open the VBE and jump you into the VBA Code.

VBAProject ProjectView

A VBA Project has now automatically been created for your workbook, and within this project, a module (Module 1) has also been created.  The macro is contained within this new module on the right hand side.

Opening the VBE Editor directly from Excel

To open the VBE Editor from Excel directly, in the Ribbon, select Developer > Visual Basic.

The VBA Project

The VBA Project is where the modules and forms are stored when you write VBA code in Excel.   As we recorded the above macro, a Module was automatically created for us within the VBA Project for the workbook we selected (in this case we selected This Workbook).  Had we selected the Personal Macro Workbook to store the macro in, a module would have been created in the Perseonal.xlsb file.

NOTE: if you choose to save macros in the Personal Macro workbook, when you exit Excel you will get a prompt asking you to save this workbook.  The Personal Macro workbook is a hidden workbook not visible in the Excel screen but visible in the  VBE window.It is used to store modules and forms that can then be used across a multitude of Excel files.    Modules and Forms that are stored in each individual workbook can only be used within that workbook.

If we had opened the VBE Editor directly from Excel without recording a macro, our workbook would have a blank VBA Project file that does not contain any modules or forms.

VBAProject ProjectExplorer

Each Excel file can only contain 1 VBA project, but can have multiple modules and forms.  It is good practice when programming in VBA to group your procedures logically into relevant modules and often you will end up with a multitude of modules and forms.

VBAProject Project Objects

In the Book1 VBA Project in the graphic above, we have 2 forms (frmInvoice and frmCustomers), 3 Modules (modCustomerRoutines, modGlobalVariables and modInvoiceRoutines)  and 1 class module (clsCustomers).

Inserting a Module or Form into the VBA Project

To insert a new module into your code, click on the Insert option on the menu bar, and click Module.

VBA 18 PIC 01

Or, click on the Insert Module button which you will find on the standard ribbon.

VBA 18 PIC 02

To insert a new user form into your code, select the UserForm option.

VBA 18 PIC 03

A new UserForm will appear in the Project Explorer and will be shown in the Code Window on the right.

VBA 18 PIC 04

You can also insert a Class Module

VBA 18 PIC 05

A class module is used to insert objects into your VBA project.

VBA 18 PIC 06

Adding a Reference to a VBA Project

You VBA project can also contain references to other VBA projects, or to other applications such as Word or Access.   To view the references that are referred to in your VBA Project, click on the Tools menu, and then click on References.

vba reference word object library

Should we need to add a new reference, we can select the object library in the References dialog box, or if the object library is not in the list, we can click the Browse button to find the relevant object library file on our PC.

VBA Coding Made Easy

Stop searching for VBA code online. Learn more about AutoMacro — A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users!

automacro

Learn More

VBA Project Properties

Each VBA Project has a number of properties associated with it. These can be customized to suit your needs.

In the Menu, select Tools and then select VBAProject Properties.

VBAProject ProjectProperties

Renaming a Project

In the General Tab, change the name of the project to something more relevant than VBAProject , and add a description to describe your project.  If you click the OK button, you will notice that the name of the VBA Project will change to reflect the new project name in the VBE Project Explorer.

VBAProject ProjectName

Adding Project Security

We can also password protect our VBA Project.  This will prevent other users from being able to see any of your code and is most useful to protect intellectual property rights!

In the Protection tab, 1) make sure the check is on in the ‘Lock project for viewing’ and then 2) type in your password and confirm the password.

VBAProject LockProject

Now if you were to save your workbook, when you reopen the workbook and try to access the VBAProject, it will ask you for a password.

VBAProject Password

NOTE: when you save an Excel file that contains a VBA Project, it has to be saved as a macro enabled workbook (xlsm) to keep the VBA project.  It cannot just be saved as an ordinary xlsx file.

VBAProject XLSM

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

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

Эта статья предназначена для тех, кто желает научиться программировать в VBA Excel с нуля. Вы увидите, как это работает, и убедитесь, что не все так сложно, как кажется с первого взгляда. Свою первую программу вы напишите за 7 простых шагов.

  1. Создайте новую книгу Excel и сохраните ее как книгу с поддержкой макросов с расширением .xlsm. В старых версиях Excel по 2003 год – как обычную книгу с расширением .xls.
  2. Нажмите сочетание клавиш «Левая_клавиша_Alt+F11», которое откроет редактор VBA. С правой клавишей Alt такой фокус не пройдет. Также, в редактор VBA можно перейти по ссылке «Visual Basic» из панели инструментов «Разработчик» на ленте быстрого доступа. Если вкладки «Разработчик» на ленте нет, ее следует добавить в настройках параметров Excel.

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

  1. Нажмите кнопку «Module» во вкладке «Insert» главного меню. То же подменю откроется при нажатии на вторую кнопку после значка Excel на панели инструментов.

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

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

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

  1. Откройте стандартный модуль двойным кликом по его ссылке в проводнике. Поместите в него курсор и нажмите кнопку «Procedure…» во вкладке «Insert» главного меню. Та же ссылка будет доступна при нажатии на вторую кнопку после значка Excel на панели инструментов.

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

  1. Наберите в поле «Name» имя процедуры: «Primer1», или скопируйте его отсюда и вставьте в поле «Name». Нажмите кнопку «OK», чтобы добавить в модуль первую и последнюю строки процедуры.

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

  1. Вставьте внутрь шаблона процедуры следующую строку: MsgBox "Привет".

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

  1. Проверьте, что курсор находится внутри процедуры, и запустите ее, нажав клавишу «F5». А также, запустить процедуру на выполнение можно, нажав на треугольник (на изображении под пунктом меню «Debug») или на кнопку «Run Sub/UserForm» во вкладке «Run» главного меню редактора VBA Excel.


Если вы увидели такое сообщение, как на изображении, то, поздравляю – вы написали свою первую программу!

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

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

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

Public Sub Primer2()

‘Объявляем переменные x, y, z

Dim x, y, z

‘Присваиваем значение переменной x

x = 25

‘Присваиваем значение переменной y

y = 35

‘Присваиваем переменной z сумму

‘значений переменных x и y

z = x + y

‘Выводим информационное сообщение

‘со значением переменной z

MsgBox z

End Sub

Пример 3
Присвоение переменным строковых значений:

Public Sub Primer3()

‘Объявляем переменные x, y, z

Dim x, y, z

‘Присваиваем строку переменной x

x = «Добрый»

‘Присваиваем строку переменной y

y = «день!»

‘Присваиваем переменной z строку,

‘состоящую из строк x и y

‘с пробелом между ними

z = x & » « & y

‘Выводим информационное сообщение

‘со значением переменной z

MsgBox z

End Sub

Скопируйте примеры процедур в стандартный модуль и запустите их на выполнение.

Изменение содержимого ячеек

Для обозначения диапазонов, в том числе и отдельных ячеек, в VBA Excel имеется ключевое слово «Range». Ячейке A1 на рабочем листе будет соответствовать выражение Range("A1") в коде VBA Excel.

Пример 4

Public Sub Primer4()

‘Объявляем переменную x

Dim x

‘Присваиваем значение переменной x

x = 125.61

‘Присваиваем ячейке A1

‘значение переменной x

Range(«A1») = x

‘Присваиваем значение ячейке B1

Range(«B1») = 356.24

‘Записываем в ячейку C1

‘сумму ячеек A1 и B1

Range(«C1») = Range(«A1») + Range(«B1»)

End Sub

Скопируйте процедуру этого примера в стандартный модуль и запустите на выполнение. Перейдите на активный рабочий лист Excel, чтобы увидеть результат.


Содержание

  • Что такое редактор Visual Basic в Excel?
  • Открытие редактора VB
  • Анатомия редактора Visual Basic в Excel
  • Куда добавить код в редакторе VB
  • Настройка редактора VB

Первым шагом к работе с VBA в Excel является ознакомление с редактором Visual Basic (также называемым редактором VBA или редактором VB).

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

Редактор Visual Basic — это отдельное приложение, которое является частью Excel и открывается всякий раз, когда вы открываете книгу Excel. По умолчанию он скрыт, и для доступа к нему необходимо активировать его.

VB Editor — это место, где вы храните код VB.

Получить код в редакторе VB можно несколькими способами:

  1. Когда вы записываете макрос, он автоматически создает новый модуль в редакторе VB и вставляет код в этот модуль.
  2. Вы можете вручную ввести код VB в редакторе VB.
  3. Вы можете скопировать код из другой книги или из Интернета и вставить его в редактор VB.

Открытие редактора VB

Открыть редактор Visual Basic в Excel можно разными способами:

  1. Использование сочетания клавиш (самый простой и быстрый)
  2. Используя вкладку разработчика.
  3. Использование вкладок рабочего листа.

Давайте быстро пройдемся по каждому из них.

Сочетание клавиш для открытия редактора Visual Basic

Самый простой способ открыть редактор Visual Basic — использовать сочетание клавиш — ALT + F11 (удерживая клавишу ALT, нажмите клавишу F11).

Как только вы это сделаете, откроется отдельное окно для редактора Visual Basic.

Этот ярлык работает как переключатель, поэтому при повторном использовании он вернет вас в приложение Excel (без закрытия редактора VB).

Ярлык для версии Mac: Opt + F11 или Fn + Opt + F11

Использование вкладки разработчика

Чтобы открыть редактор Visual Basic с ленты:

  1. Перейдите на вкладку «Разработчик» (если вы не видите вкладку «Разработчик», прочтите, как ее получить).
  2. В группе «Код» щелкните Visual Basic.

Использование вкладки рабочего листа

Это менее используемый метод открытия редактора Vb.

Перейдите на любую из вкладок рабочего листа, щелкните правой кнопкой мыши и выберите «Просмотреть код».

Этот метод не просто откроет редактор VB, он также перенесет вас в окно кода для этого объекта рабочего листа.

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

Анатомия редактора Visual Basic в Excel

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

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

Кроме того, он все еще выглядит как старый Excel 97 дней. Хотя дизайн и удобство использования Excel значительно улучшились за последние годы, редактор VB не претерпел каких-либо изменений в своем внешнем виде.

В этом разделе я познакомлю вас с различными частями приложения Visual Basic Editor.

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

Ниже представлены изображения различных компонентов редактора VB. Затем они подробно описаны в следующих разделах этого руководства.

Теперь давайте быстро рассмотрим каждый из этих компонентов и поймем, что он делает:

Строка меню

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

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

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

Панель инструментов

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

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

В большинстве случаев панель инструментов по умолчанию — это все, что вам нужно при работе с редактором VB.

Вы можете переместить панель инструментов над строкой меню, щелкнув три серые точки (в начале панели инструментов) и перетащив ее над строкой меню.

Примечание. В редакторе VB есть четыре панели инструментов — Стандартная, Отладка, Редактировать и Пользовательская форма. То, что вы видите на изображении выше (которое также используется по умолчанию), является стандартной панелью инструментов. Вы можете получить доступ к другим панелям инструментов, перейдя к параметру «Просмотр» и наведя курсор на параметр «Панели инструментов». Вы можете добавить одну или несколько панелей инструментов в редактор VB, если хотите.

Обозреватель проекта

Обозреватель проекта — это окно слева, в котором отображаются все объекты, открытые в настоящее время в Excel.

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

Например, на изображении ниже в Project Explorer показаны две открытые книги (Book1 и Book2) и объекты в каждой книге (рабочие листы, ThisWorkbook и Module в Book1).

Слева от объектов есть значок плюса, который можно использовать, чтобы свернуть список объектов или развернуть и просмотреть полный список объектов.

Следующие объекты могут быть частью Project Explorer:

  1. Все открытые книги — в каждой книге (которая также называется проектом) вы можете иметь следующие объекты:
    • Объект рабочего листа для каждого листа в книге
    • ThisWorkbook объект который представляет собой книгу
    • Таблица объект для каждого листа диаграммы (они не так распространены, как рабочие листы)
    • Модули — Здесь идет код, созданный с помощью средства записи макросов. Вы также можете написать или скопировать код VBA сюда.
  2. Все открытые надстройки

Рассматривайте Project Explorer как место, где отображаются все объекты, открытые в Excel в данный момент.

Сочетание клавиш для открытия Project Explorer: Ctrl + R (удерживайте контрольную клавишу, а затем нажмите R). Чтобы закрыть его, просто щелкните значок закрытия в правом верхнем углу окна Project Explorer.

Примечание. Для каждого объекта в Project Explorer есть окно кода, в котором вы можете написать код (или скопировать и вставить его откуда-нибудь). Окно кода появляется при двойном щелчке по объекту.

Окно свойств

Окно свойств — это то место, где вы можете увидеть свойства выбранного объекта. Если у вас еще нет окна «Свойства», вы можете получить его с помощью сочетания клавиш F4 (или перейдите на вкладку «Просмотр» и нажмите «Окно свойств»).

Окно свойств — это плавающее окно, которое можно закрепить в редакторе VB. В приведенном ниже примере я закрепил его чуть ниже Project Explorer.

Окно свойств позволяет нам изменять свойства выбранного объекта. Например, если я хочу сделать рабочий лист скрытым (или очень скрытым), я могу сделать это, изменив свойство Visible для выбранного объекта рабочего листа.

Связанный: Скрытие рабочего листа в Excel (который не может быть легко отсканирован)

Окно кода

Для каждого объекта, перечисленного в Project Explorer, есть окно кода. Вы можете открыть окно кода для объекта, дважды щелкнув его в области Project Explorer.

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

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

Связанный: Как запустить макрос (код VBA) в Excel.

Немедленное окно

Окно Immediate в основном используется при отладке кода. Один из способов использования окна Immediate — использование оператора Print.Debug в коде с последующим запуском кода.

Это помогает мне отлаживать код и определять, где мой код застревает. Если я получаю результат Print.Debug в непосредственном окне, я знаю, что код работал, по крайней мере, до этой строки.

Если вы новичок в кодировании VBA, вам может потребоваться некоторое время, чтобы использовать немедленное окно для отладки.

По умолчанию непосредственное окно не отображается в редакторе VB. Вы можете получить его, используя сочетание клавиш Control + G (или можете перейти на вкладку «Просмотр» и нажать «Немедленное окно»).

Куда добавить код в редакторе VB

Я надеюсь, что теперь у вас есть общее представление о том, что такое VB Editor и какие в нем части.

В этом разделе этого руководства я покажу вам, где добавить код VBA в редактор Visual Basic.

Есть два места, где вы можете добавить код VBA в Excel:

  1. Окно кода для объекта. Этими объектами могут быть рабочая книга, рабочий лист, пользовательская форма и т. Д.
  2. Окно кода модуля.

Окно кода модуля против окна кода объекта

Позвольте мне сначала быстро пояснить разницу между добавлением кода в модуль и добавлением кода в окне объектного кода.

Когда вы добавляете код к любому из объектов, он зависит от какого-либо действия этого объекта, которое запускает этот код. Например, если вы хотите отобразить все рабочие листы в книге, как только вы откроете эту книгу, тогда код будет помещен в объект ThisWorkbook (который представляет книгу).

В данном случае триггер открывает книгу.

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

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

Связанный: Узнайте больше о событиях в VBA.

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

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

Добавление кода VBA в модуль

При записи макроса автоматически создается модуль и вставляется в него код, однако при использовании средства записи макросов существуют некоторые ограничения. Например, он не может использовать циклы или условия If Then Else.

В таких случаях лучше либо скопировать и вставить код вручную, либо написать код самостоятельно.

Модуль может использоваться для хранения следующих типов кодов VBA:

  1. Декларации: Вы можете объявлять переменные в модуле. Объявление переменных позволяет указать, какой тип данных может содержать переменная. Вы можете объявить переменную только для подпрограммы или для всех подпрограмм в модуле (или всех модулях)
  2. Подпрограммы (процедуры): Это код, в котором есть шаги, которые вы хотите выполнить с помощью VBA.
  3. Функциональные процедуры: Это код, который возвращает одно значение, и вы можете использовать его для создания пользовательских функций (также называемых пользовательскими функциями или UDF в VBA).

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

Добавление модуля в редактор VB

Ниже приведены шаги по добавлению модуля:

  1. Щелкните правой кнопкой мыши любой объект книги (в котором вы хотите установить модуль).
  2. Наведите курсор на опцию Вставить.
  3. Щелкните по модулю.

Это мгновенно создаст папку с именем Module и вставит объект с именем Module 1. Если у вас уже есть вставленный модуль, вышеупомянутые шаги будут вставлять другой модуль.

После того, как модуль вставлен, вы можете дважды щелкнуть объект модуля в Project Explorer, и он откроет для него окно кода.

Теперь вы можете скопировать и вставить код или написать его самостоятельно.

Удаление модуля

Ниже приведены шаги по удалению модуля в Excel VBA:

  1. Щелкните правой кнопкой мыши модуль, который хотите удалить.
  2. Нажмите на опцию «Удалить модуль».
  3. В открывшемся диалоговом окне нажмите Нет.

Примечание. Вы можете экспортировать модуль перед его удалением. Он сохраняется как файл .bas, и вы можете импортировать его в другой проект. Чтобы экспортировать модуль, щелкните модуль правой кнопкой мыши и выберите «Экспорт файла».

Добавление кода в окно объектного кода

Чтобы открыть окно кода для объекта, просто дважды щелкните по нему.

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

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

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

Примечание: эти события относятся к объекту. Когда вы откроете окно кода для книги, вы увидите события, связанные с объектом книги. Когда вы откроете окно кода для рабочего листа, вы увидите события, связанные с объектом рабочего листа.

Настройка редактора VB

Хотя настройки редактора Visual Basic по умолчанию достаточно хороши для большинства пользователей, они позволяют дополнительно настраивать интерфейс и некоторые функции.

В этом разделе руководства я покажу вам все параметры, которые у вас есть при настройке редактора VB.

Чтобы настроить среду редактора VB, нажмите «Инструменты» в строке меню, а затем нажмите «Параметры».

Это откроет диалоговое окно Параметры, которое предоставит вам все параметры настройки в редакторе VB. В диалоговом окне «Параметры» есть четыре вкладки (как показано ниже), на которых можно настроить различные параметры редактора Visual Basic.

Давайте быстро рассмотрим каждую из этих вкладок и важные параметры на каждой из них.

Вкладка «Редактор»

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

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

Автоматическая проверка синтаксиса

При работе с VBA в Excel, как только вы сделаете синтаксическую ошибку, вас встретит всплывающее диалоговое окно (с некоторым описанием ошибки). Что-то вроде того, что показано ниже:

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

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

Требовать объявление переменной

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

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

Когда вы включаете этот параметр, он автоматически вставляет оператор «Option Explicit» в верхнюю часть окна кода. Это заставляет вас объявить все переменные, которые вы используете в своем коде. Если вы не объявите переменную и попытаетесь выполнить код, отобразится ошибка (как показано ниже).

В приведенном выше случае я использовал переменную Var, но не объявлял ее. Поэтому, когда я пытаюсь запустить код, он показывает ошибку.

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

Примечание. Когда вы включаете этот параметр, он не влияет на существующие модули.

Автоматический член списка

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

Например, если я хочу удалить лист (Sheet1), мне нужно использовать строку Sheet1.Delete.

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

Функция автоматического списка хороша тем, что позволяет:

  • Быстро выберите свойство и метод из списка и сэкономьте время
  • Показывает все свойства и методы, о которых вы, возможно, не знали.
  • Избегайте орфографических ошибок

Эта опция включена по умолчанию, и я рекомендую оставить ее в таком состоянии.

Параметры автоматической быстрой информации

Когда вы вводите функцию на листе Excel, она показывает вам некоторую информацию о функции, например, аргументы, которые она принимает.

Точно так же, когда вы вводите функцию в VBA, она показывает вам некоторую информацию (как показано ниже). Но для этого вам нужно убедиться, что опция Auto Quick Info включена (что по умолчанию).

Параметры советов по автоматическим данным

Когда вы просматриваете свой код построчно и помещаете курсор над именем переменной, он покажет вам значение переменной.

Я считаю это весьма полезным при отладке кода или при просмотре кода построчно, в котором есть циклы.

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

Этот параметр включен по умолчанию, и я рекомендую вам оставить его в таком же состоянии.

Автоматический отступ

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

При написании кода вы можете делать отступ с помощью клавиши табуляции.

Этот параметр гарантирует, что, когда вы закончите с отступом и нажмете Enter, следующая строка не начнется с самого начала, а будет иметь тот же отступ, что и предыдущая.

В приведенном выше примере после того, как я напишу строку Debug.Print и нажму Enter, она начнется прямо под ней (с тем же уровнем отступа).

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

При желании вы можете изменить значение отступа. Я сохраняю значение по умолчанию.

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

Когда этот параметр включен, он позволяет выбрать блок кода и перетащить его.

Это экономит время, так как вам не нужно сначала вырезать, а потом вставлять. Вы можете просто выбрать и перетащить его.

Этот параметр включен по умолчанию, и я рекомендую вам оставить его в таком же состоянии.

По умолчанию — полный вид модуля

Когда эта опция включена, вы сможете увидеть все процедуры в модуле в одном прокручиваемом списке.

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

Этот параметр включен по умолчанию, и я рекомендую оставить его в таком же состоянии.

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

Разделитель процедур

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

Я считаю это полезным, поскольку он визуально показывает, когда заканчивается одна процедура и начинается другая.

Он включен по умолчанию, и я рекомендую оставить его в таком состоянии.

Вкладка «Формат редактора»

С помощью параметров на вкладке «Формат редактора» вы можете настроить внешний вид кода в окне кода.

Лично я сохраняю все параметры по умолчанию, так как меня это устраивает. Если вы хотите, вы можете настроить это в зависимости от ваших предпочтений.

Чтобы внести изменения, вам нужно сначала выбрать параметр в поле «Цвета кода». После выбора параметра вы можете изменить для него цвет переднего плана, фона и индикатора.

На этой вкладке также можно установить тип и размер шрифта. Рекомендуется использовать шрифт фиксированной ширины, например Courier New, так как он делает код более читабельным.

Обратите внимание, что настройки типа и размера шрифта останутся одинаковыми для всех типов кода (т. Е. Для всех типов кода, показанных в поле цвета кода).

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

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

По умолчанию полоса индикатора маржи включена, и я рекомендую оставить ее в таком состоянии.

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

Вкладка Общие

На вкладке «Общие» есть много параметров, но изменять их не нужно.

Я рекомендую вам оставить все параметры как есть.

Одна из важных опций, о которых следует знать на этой вкладке, — это обработка ошибок.

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

Этот параметр означает, что если ваш код обнаружит ошибку, и вы еще не обработали эту ошибку в своем коде, он сломается и остановится. Но если вы устранили ошибку (например, с помощью параметров «При ошибке возобновить следующий» или «При ошибке Перейти к»), то она не сломается (поскольку ошибки не обрабатываются).

Вкладка стыковки

На этой вкладке вы можете указать, какие окна вы хотите закрепить.

Закрепление означает, что вы можете зафиксировать положение окна (например, проводника проекта или окна свойств), чтобы оно не перемещалось, и вы могли просматривать все различные окна одновременно.

Если вы не установите док-станцию, вы сможете просматривать одно окно за раз в полноэкранном режиме, и вам придется переключаться на другое.

Я рекомендую оставить настройки по умолчанию.

В данной статье вы подробнее узнаете о том, как эффективно работать в редакторе Visual Basic при помощи специальных окон.

Содержание

  1. Откройте редактор Visual Basic
  2. Редактор Visual Basic
  3. Окно проекта
  4. Окно кода
  5. Окно свойств
  6. Окно отладки
  7. Окно переменных
  8. Окно отслеживания

Откройте редактор Visual Basic

Самый простой способ получить доступ к Visual Basic – зажать сочетание Alt и F11. Готово! Перед вами появился данный инструмент, как это показано на скриншоте ниже. Обратите внимание, что при открытии редактора обычная электронная таблица не закрывается.Редактор Visual Basic

Редактор Visual Basic

При работе в Visual Basic у вас есть возможность взаимодействовать с несколькими окнами. Их использование значительно упрощает написание кода и его проверку. Чтобы их открыть, необходимо перейти к вкладке «Вид», которая расположена вверху. Теперь нам необходимо рассмотреть все доступные возможности.

Окно проекта

Окно «Проект» можно найти в редакторе VBA слева (это видно на представленном выше скриншоте). В нём отображаются все модули VBA, которые есть в данном документе Excel.Редактор Visual Basic

Изначально «Проект» VBA состоит из:

  • Объекта «ЭтаКнига», связанного с книгой.
  • Объектов «Лист», которые связаны со всеми листами документа.

Вы также можете самостоятельно добавить дополнительные объекты «Форма пользователя», «Модуль» и «Модуль класса» в ваш проект. На представленном ранее скриншоте был выбран «Модуль», и добавлен он под названием Module1.

Для создания нового объекта сделайте следующее:

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

Следует отметить, что у каждого представленного объекта есть окно: в нём содержится код VBA. 

При написании кода необходимо следовать нескольким правилам:

  • Код, который будет связан с книгой, должен быть вписан в объект «ЭтаКнига».
  • Код, который необходимо связать с конкретным рабочим листом, нужно ввести в объект «Лист».
  • Общий код (который не связан ни с чем) нужно вводить в «Модуль».
  • Если вы создаете свои собственные объекты, их код стоит вписывать в «Модуль класса».
  • При добавлении кода для дальнейшего использования человеком стоит работать с «Формой пользователя».

Окно кода

Щёлкнув дважды по определённому объекту во вкладке «Проект», вы откроете окно «Код». В появившемся поле можно ввести необходимую комбинацию. На представленном выше скриншоте есть окно «Код» для объекта под названием Module1.

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

Окно свойств

В данном окне вы сможете увидеть все параметры и свойства объекта, выбранного во время разработки. Они отличаются друг от друга и зависят от указанного типа объекта. Например, у объектов «Лист» и «Модуль» мало общих свойств, поскольку их функции не похожи.Редактор Visual Basic

Окно отладки

Данное окно поможет вам при написании кода. Оно позволяет делать отладку выражений, а также выполнять отдельные строки кода. Чтобы его открыть, во вкладке «Вид» необходимо найти пункт «Отладка». Кроме того, это можно сделать, нажав комбинацию Ctrl и G.Редактор Visual Basic

Окно переменных

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

Окно отслеживания

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

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

Чтобы задать данное выражение, выполните следующие простые шаги:

  • Выделите данный элемент в коде VBA.
  • В меню «Отладка» выберите опцию «Быстрое отслеживание».
  • Нажмите на кнопку «Добавить».

На этом всё. Следует отметить, что существует ещё великое множество опций и команд для написания, выполнения и отладки кода VBA. О них мы непременно расскажем в других уроках!

Оцените качество статьи. Нам важно ваше мнение:

Понравилась статья? Поделить с друзьями:
  • Vba excel как открыть книгу только для чтения
  • Vba excel как определить последнюю заполненную строку
  • Vba excel как открыть другую книгу
  • Vba excel как определить номер строки
  • Vba excel как открыть все файлы excel в папке