Прежде чем начать, убедитесь, что на ленте доступна вкладка Разработчик. Дополнительные сведения см. в статье Отображение вкладки «Разработчик».
Чтобы использовать пример ниже, откройте новую книгу.
Важно: Код VBA нельзя отменить, поэтому проверьте код в пустой книге или копии существующей книги. Если код не работает, вы можете закрыть книгу без сохранения изменений.
-
Откройте вкладку Разработчик и щелкните элемент Visual Basic.
-
В обозревателе VBA Project слева разверните папку VBA Project книги, а затем дважды щелкните модуль ThisWorkbook. Если вы не видите обозреватель Project, перейдите в > Project проводникаили нажмите CTRL+R.
-
В окне модуля, которое открывается справа, вставьте следующий код:
Private Sub Workbook_Open() ' Put your code here End Sub
-
В конце и подмножите записи в процедуру Sub.
Закройте редактор Visual Basic (вам не нужно ничего сохранять).
-
Сохраните книгу как книгу Excel Macro-Enabled (XLSM)и закроем ее.
При следующем запуске книги код, добавленный в Workbook_Open, будет работать автоматически.
Прежде чем начать, убедитесь, что на ленте доступна вкладка Разработчик. Для этого:
-
В меню выберите пункт Параметры Excel >… >ленты & панели инструментов.
-
В категории Настройка ленты в списке Основные вкладки выберите вариант Разработчик.
-
Нажмите кнопку Сохранить.
Чтобы использовать пример ниже, откройте новую книгу.
Важно: Код VBA нельзя отменить, поэтому проверьте код в пустой книге или копии существующей книги. Если код не работает, вы можете закрыть книгу без сохранения изменений.
-
Откройте вкладку Разработчик и щелкните элемент Visual Basic.
-
В обозревателе VBA Project слева разверните папку VBA Project книги, а затем дважды щелкните модуль ThisWorkbook.
-
В окне модуля, которое открывается справа, вставьте следующий код:
Private Sub Workbook_Open() ' Put your code here End Sub
-
В конце и подмножите записи в процедуру Sub.
Закройте редактор Visual Basic (вам не нужно ничего сохранять).
-
Сохраните книгу как книгу Excel Macro-Enabled (XLSM)и закроем ее.
При следующем запуске книги код, добавленный в Workbook_Open, будет работать автоматически.
Download Article
Download Article
This wikiHow will teach you how to run macros in Excel automatically when you open a specific workbook, or how to create a macro that opens all your workbooks when you open Excel. Before you start, make sure you have the developer tab showing on the editing ribbon.
-
1
Make sure the Developer tab is displayed on your editing ribbon. If it isn’t and you’re using a Windows computer, go to the File tab and click Options > Customize ribbon. Under «Main tabs» check the box next to «Developer.»
- If you’re using a Mac, you’ll be able to enable the developer tab by going to Excel > Preferences (the menu at the top of your screen) then clicking Ribbon & Toolbar. In the «Customize the Ribbon» category, click the «Developer» checkbox and click Save.
-
2
Click the Developer tab and select Visual Basic.
Advertisement
-
3
Double-click your workbook from the panel on the left. You’ll see it listed under «VBA Project,» but if you don’t see it, click to expand the «VBA Project» folder.
-
4
Enter the following code:
Private Sub Workbook_Open() Put your Macro-code here End Sub
-
5
Close the Visual Basic Editor. You don’t have to click save or anything before closing the editor.
- The next time you open this workbook, the macro code you entered between the sub and end sub lines will run.[1]
- The next time you open this workbook, the macro code you entered between the sub and end sub lines will run.[1]
Advertisement
-
1
Make sure the Developer tab is displayed on your editing ribbon. If it isn’t and you’re using a Windows computer, go to the File tab and click Options > Customize ribbon. Under «Main tabs» check the box next to «Developer.»
- If you’re using a Mac, you’ll be able to enable the developer tab by going to Excel > Preferences (the menu at the top of your screen) then clicking Ribbon & Toolbar. In the «Customize the Ribbon» category, click the «Developer» checkbox and click Save.
- This macro will open all the worksheets you want to open when you launch Excel, which is highly useful if you work on a few different projects each day.
-
2
Click Record Macro. It’s in the «Developer» tab in the «Code» grouping.
-
3
Enter your macro name. Name it something like «Auto_Open» so you can read the title and know what it does.
-
4
Click Personal Macro Workbook. You’ll see this in the «Store macro in» box and will make the macro available every time you open Excel.
- You can fill out the description to remind you specifically of what this macro does.
-
5
Click Ok. That window will close and every keystroke or button press will be recorded in the macro.
-
6
Click the File and click Open. Your file manager will open.
-
7
Select all the workbooks you want to open when you open Excel. If you need to select files in different locations, hold down Shift and click them.
-
8
Click Stop Recording. All the keystrokes and button presses you made are recorded and stored in the macro.
-
9
Close Excel. You’ll be prompted to save the changes you’ve made, so click Yes and your macro will open all those workbooks whenever you restart Excel.
Advertisement
Ask a Question
200 characters left
Include your email address to get a message when this question is answered.
Submit
Advertisement
Thanks for submitting a tip for review!
References
About This Article
Article SummaryX
1. Make sure the Developer tab is displayed on your editing ribbon.
2. Open VBA.
3. Double-click your workbook from the panel on the left.
4. Enter the displayed code.
5. Close the Visual Basic Editor.
Did this summary help you?
Thanks to all authors for creating a page that has been read 10,072 times.
Is this article up to date?
Автоматический запуск макроса при открытии книги
Смотрите такжеМне всегда хватает 2) Обычно это один. В отличие от файл и Personal.xlsb, но таблиц и т.п. не видно -Insert — UserFormPrivate Sub Workbook_Open() модуль листа, ночтобы создать настраиваемый шаблонперейдите в папку, в выберите пункт Сохранить быть отменено, поэтомуЭтаКнигаПримечание: одного из двухпробовал прописать макрорекордером из следующих вариантов:
процедур, код функцийPERSONAL.XLSB второго мы не Вопрос — где отобразите соответствующее окно. Появится пустая сераяIf Sheets(«Лист1»).[a1] <> ничего не сортируется. книги или листа,
которой хранится книга
как > Компьютер, убедитесь, что для. Если вы Мы стараемся как можно проверенных способов открытие книги -C:Program FilesMicrosoft OfficeOffice12XLSTART
начинаются с оператора. Его ветку которого видим. Таким образом
эти несколько строк через меню оконная форма будущей 8 Then MsgBoxSub Worksheet_Open() введите любое имя; (XLSTART или альтернативная нажмите Обзор и тестирования кода на не видите окно оперативнее обеспечивать вас
-
KuklP тоже не помоглоC:Documents and SettingsComputerApplication DataMicrosoftExcelXLSTARTFunction можно развернуть плюсиком
-
все макросы, которые кода хранить? ВедьView — Project Explorer заставки. Добавим на «Это последнее предупреждение!»Range(«J1»).Selectнажмите Сохранить; папка), выберите книгу выберите папку XLSTART. пустую книгу или проекта, можно перейти актуальными справочными материалами: Где он там ((((C:Usersимя-вашей-учетной-записиAppDataRoamingMicrosoftExcelXLSTARTили слева, добравшись до хранятся в ЛКМ
-
от того, где) и добавьте в нее изображение при
Sheets("Лист1").[a1] = 8
Selection.AutoFilter Field:=1, Criteria1:="НАвыберите Файл > Закрыть.
и нажмите Удалить. -
В чистой установке выпуска копию существующей книги. в на вашем языке. такое сказал? ИМожет кто нибудь
Как вариант, можно спроситьPublic FunctionModule1 оказываются доступы для
-
макрос хранится будет него следующий код: помощи панели инструментовActiveWorkbook.Save
ПЕЧАТЬ»Автоматический макрос (например, Auto_Open),Вы можете сохранить часто Windows Vista или
Если код нережим Эта страница переведена что по-твоему означает в курсе можно о положении этой
-
, а заканчиваются на, где и хранится запуска в любой потом зависеть гдеPrivate Sub Workbook_Open()ToolboxEnd Sub
-
End Sub записанный в книгу, используемые настройки книги более новой версии вас устраивают, закройте> автоматически, поэтому ее
-
строка: ли так сделать папки сам Excel
End Function код только что момент, пока открыт
он сможет (или UserForm1.Show End Sub(если у васЛист1 скрытьКак правильно сделать? которая открывается при в шаблоне и путь к папке книгу без сохраненияОкно проекта текст может содержать
-
cn.Open sCon ? с помощью VBA.: записанного нами бессмысленного
-
Excel. не сможет) работать.И, наконец, вставьте обычный ее не видно,_Boroda_Извините, в макросах запуске Excel, запускается автоматически открывать его XLSTART обычно выглядит
-
изменений.или нажмите клавиши неточности и грамматические
?
???? очень нужна Для этого в
Код необходимо аналогичным образом -
макроса:Если вы еще ниЕсли макрос решает небольшую модуль ( то зайдите в: Проще всего ставить
я новичок. сразу же при каждый раз при так:
-
Откройте вкладкуCtrl + R ошибки. Для насKuklP
помощь …. редакторе Visual Basic скопировать в любойПоздравляю, вы только что
support.office.com
Автоматическое открытие определенной книги или шаблона при запуске Excel
разу не пользовались локальную проблему вInsert — Module меню на листе метку.webley ее открытии. запуске Excel.Office 2013 — C:Пользователи(ИмяРазработчик. важно, чтобы эта
: Кросс: http://www.excel-vba.ru/forum/index.php?topic=2225.0Serge_007 (кнопка модуль книги PERSONAL.XLSB создали себе Личную ЛКМ, то изначально отдельно взятом файле) и скопируйте туда
-
View — Toolbox А лучше наоборот: Лист не открывают,Чтобы макрос не запустился,Чтобы использовать шаблон книги, пользователя)AppDataMicrosoftExcelXLSTART;
и щелкните элементВ открывшейся в правой
статья была вамAndreTM
-
: У Вас слишкомVisual Basic и затем можно Книгу Макросов! Только
файл Personal.xlsb не (например обрабатывает внесенные
это:): — изначально метка
а активируют :) удерживайте клавишу SHIFT создайте книгу, котораяOffice 2013 C2R — C:Пользователи(ИмяVisual Basic части окна модуля полезна. Просим вас: много знаков вопроса
Использование альтернативной папки автозагрузки
на вкладке будет вызвать функцию не забудьте нажать существует. Самый легкий
-
в конкретный отчетPrivate Sub KillTheForm()
-
Нажмите кнопку есть, макрос приPrivate Sub Worksheet_Activate() во время запуска содержит листы, стандартный
пользователя)AppDataMicrosoftExcelXLSTART.. вставьте следующий код: уделить пару секундЦитата и скобокРазработчик обычным образом, как на кнопку сохранения способ его создать данные особым образом), Unload UserForm1 EndImage запуске проверяет ееwebley Excel. текст (например, заголовкиЕсли вы выполнили обновление
Отмена открытия конкретной книги при запуске Excel
В левой частиPrivate Sub Workbook_Open() и сообщить, помогла
-
(KuklP)200?’200px’:»+(this.scrollHeight+5)+’px’);»>Где он тамА макрорекордер пишет) нужно открыть окно любую стандарную функцию с дискеткой в
Автоматическое открытие шаблона книги при запуске Excel
— это записать то логично хранить Sub и растяните на форме наличие, если есть,: Сразу файл не
Alex4 страниц, столбцов и с другой версииПроекта VBA’ Put your ли она вам, такое сказал? И открытие:Immediate Excel, нажав кнопку
левом верхнем углу рекордером какой-нибудь ненужный
-
код внутри этого
-
Все. Можно закрывать редактор прямоугольник — в то выполняется и
-
посмотрел — поскольку
-
: Цель: автоматически обновлять сток), формулы, макросы,
-
Windows, путь можетразверните папку code here с помощью кнопок что по-твоему означает200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub OpenFile()
-
сочетанием клавишf на панели инструментов.
-
бессмысленный макрос, но же файла. Без Visual Basic, сохранять
-
него будет помещено
-
стирает эту метку. лист у вас
-
фильтр в таблице стили и другое
выглядеть так:
-
Проекта VBAEnd Sub
-
внизу страницы. Для строка: cn.Open sCon
-
Workbooks.Open Filename:=»C:путьКнига2.xls»Ctrl+GxДальше все просто. Любой
-
указать в качестве вопросов.
-
файл и пробовать фоновое изображение. Затем Все последующие разы
-
один, скорее всего при открытии страницы форматирование, которое вы
-
Office 2013 — C:Programдля книги, аВставьте код записанные в
-
-
удобства также приводим
-
В вопросе ТС
Отмена запуска автоматического макроса при запуске Excel
End Sub, ввести туда командув строке формул нужный вам макрос места для егоА если макрос должен
-
закрыть-открыть книгу… на панели инструментов макрос проверяет метку имеется ввиду открытие
support.office.com
Автозапуск макроса при открытии книги
Имеется макрос на собираетесь постоянно использовать FilesMicrosoft OfficeOffice 15XLSTART затем дважды щелкните
подпрограмме между строками ссылку на оригинал
фразой «закрытая книга»Цитата? Application.StartupPath
и выбрав функцию (т.е. кусок кода, хранения Личную Книгу быть относительно универсален
При открытии книги ExcelProperties — ее нет
книги. применение фильтра в шаблоне.Office 2013 C2R —
модульSub (на английском языке). подразумевалось, скорее всего,(ek09)200?’200px’:»+(this.scrollHeight+5)+’px’);»>нужно поработать макросоми нажать на в окне начинающийся на — тогда Excel и нужен в выполняет процедуру(если у вас — и неВ модуль книги:Задача: запустить макрос
Настройки, которые можно сохранить C:Program FilesMicrosoft Office
ЭтаКнигаиМакрос, записанный может потребоваться «не открытая в в зарытой книгеЭто
planetaexcel.ru
Выполнение макроса при открытии (активации) листа
EnterМастера ФункцийSub
будет вынужден автоматически любой книге ExcelWorkbook_Open
ее не видно, выполняется дальше.Private Sub Workbook_Open()
автоматически при открытии
в шаблоне:
15rootOffice 15XLSTART.
End Sub
автоматически выполняются при
Excel». Так что, невозможно. Для того
:в категориии заканчивающийся
ее для вас
— как, например,из модуля то выберите вМожно в кодеSheets(1).Activate книгиформатирование ячеек и листа;
Примечание:
В открывшейся в правой
.
открытии конкретной книги.
с этой точки что бы что-то
Полученный путь можно скопировать
Определенные пользователем (User Defined)End Sub
создать. Для этого:
макрос для конвертированияЭтаКнига меню макроса после выполнения
Range(«J1»).SelectПогуглилил — получилосьформатирование страниц и настройки Если книга или части окна модуляЗакройте Пример использует следующую зрения, доступ через сделать с закрытой и вставить в:) можно смело копировать
Откройте вкладку формул в значения?. Эта процедура отображает
View — Properties стереть этот же
planetaexcel.ru
Выполнение макроса один раз при открытии книги excel (Макросы/Sub)
Selection.AutoFilter Field:=1, Criteria1:=»НА вот что, но
области печати для шаблон содержит макрос, вставьте следующий код:Редактор Visual Basic процедуру для показано,
DAO/ADO/ODBC — это книгой — её
верхнюю строку окна
Примеры таких функций можно и вставлять либоРазработчик (Developer)
каждого листа;
Не копировать же на экране нашу) задайте выберите файл
код
ПЕЧАТЬ"
это не запускается
который автоматически запускаетсяPrivate Sub Workbook_Open()(не нужно ничего как это работает. возможность изменить данные. надо открыть. Правда Проводника в Windows в больших количествах в. Если вкладки его код на форму-заставку. При отображении картинки в полеМожно ставить метку,End Sub
автоматически. Как запустить?стили ячеек; при открытии книги,’ Put your
сохранять). Можно также запустить Как мы помним, сделать это можно
и нажать найти в интернете
Module1
Разработчик Visual Basic каждый формы запускается процедура
excelworld.ru
Заставка при открытии книги Excel
Picture но не наopenid.mail.ru/mail/vlad3622340Sub Workbook_Open() Sheets(«таблица»).Range(«B5»).AutoFilterколичество и тип страниц
например Auto_Open, макрос code hereСохранение книги в виде макрос автоматически при
Шаг 1. Создаем экранную форму
наличие на компьютере-клиенте и незаметно, ноEnter или здесь же, либо в отдельныйне видно, то раз в каждуюUserForm_Activate: листе, а в: Спасибо большое, Webley! Field:=2, Criteria1:=»<>0″ End в книге; будет по умолчаниюEnd Subкниги Excel с поддержкой запуске Excel. самого Excel при всё-таки придётся- и мы на сайте (сумма модуль, добавив его ее можно включить книгу? Кроме того,, которая с задержкойВозможно, придется немного изменить свойствах, например.Sub Worksheet_Activate() работает! SubСпасибо!защищенные и скрытые области запускаться при запуске
Вставьте код записанные в макросов (* xlsm)Windows macOS этом совершенно необязательноHugo увидим папку с прописью, приблизительный текстовый предварительно через меню в настройках через рано или поздно, в 5 секунд размер формы, чтобыМожно создавать специальныйА я где-тоLVL книги. Вы можете Excel.
подпрограмме между строкамии закройте ее.Прежде чем начать, убедитесь,Hugo: Сергей, R Dmitry нашим файлом Личной поиск, ВПР 2.0,Insert — ModuleФайл — Параметры -
почти любой пользователь запускает макрос изображение уместилось полностью. проверочный файл вычитал, что Worksheet_Open: поместить этот код скрыть листы, столбцыЕсли вы сохранили автоматическиSub
При открытии книги, код, что отображаются вкладки
Шаг 2. Добавляем управляющий код
: Сергей, ну в сказал, что можно Книги Макросов: конвертация кириллицы в. Хранить все макросы Настройка ленты (Home
приходит к мысли,KillTheForm Чтобы написать наМожно …
и с этим в модуль книги и строки, чтобы запускаемую книгу ви добавленных на процедуры « общем конечно «неТут: http://www.planetaexcel.ru/forum….D=28979 вИ несколько практических нюансов
транслит и т.п.) в одном модуле
— Options - что неплохо было, который убирает форму форме текст, можноDan116
мучился. (ЭтаКнига) предотвратить изменения в
другом месте, выполнитеEnd SubWorkbook_OpenРазработчик
Как это работает?
притрагиваясь» к файлу конце. вдогон:Если вы будете использовать или раскладывать по Customize the Ribbon) бы сложить все с экрана. использовать элемент управления: всем спасибо заЭто в примереalexthegreat ячейках; следующее:.будет выполняться автоматически.
planetaexcel.ru
Как использовать Личную Книгу Макросов
» на ленте. в нём ничегоВообще вся темапри использовании Личной Книги Личную Книгу Макросов, разным — исключительно. макросы в однуЕсли вы еще неLabel идеи! лист один, а: заходите в ВБА,
повторяемый текст, например подписивыберите Файл > ПараметрыЗакройтеПрежде чем начать, убедитесь, Подробнее читайте вкладку изменить нельзя. Ну в тему, без Макросов Excel будет
то рано или вопрос вкуса. ВыглядетьНа вкладке коробку, т.е. иметь знакомы с макросамис панелиЭтот прием позволит Вам в оригинале 6. там слева будут страниц, столбцов и Excel > Дополнительно;Редактор Visual Basic что отображаются вкладки «Разработчик». разве что если воды. запускаться чуть медленнее,
поздно у вас это должно примерноРазработчик их всегда под в Excel, тоToolbox. выводить на экран После открытия книги объекты, смотрите Объект строк;
в разделе Общие в(не нужно ничего «Чтобы использовать в приведенном только изменив адресациюSerge_007 особенно на слабых возникнет желание: так:нажмите кнопку рукой. И может я вам дажеНу, и наконец, выделив окно-заставку при открытии другие листы изменяются ЭТА КНИГА, щелкаетеданные, графические элементы, формулы, поле Каталог автозагрузки сохранять).Разработчик ниже примере, откройте диска: Я Диму конечно ПКподелиться своими накопленными макросамиЗапустить добавленный макрос можноЗапись макроса (Record Macro) быть даже запускать
Как создать Личную Книгу Макросов
немного завидую. Ощущение предварительно всю форму, любой заданной книги вручную и влияют по нему 2 диаграммы и другую введите полный путьСохранение книги в виде» на ленте. новую книгу.И кстати только уважаю, но нет,стоит периодически очищать Личную с другими пользователями в диалоговом окне,. В открывшемся окне не вручную, а всемогущества и осознание можно задать текст в Excel. на этот лист. раза, открывается, далее информацию; к альтернативной папкекниги Excel с поддержкой Это можно сделать:Важно:
что проверил - не верю Книгу от информационногоскопировать и перенести Личную вызываемом с помощью выберите Личную книгу сочетаниями клавиш? И того, что ваш в строке заголовка,Заставка появляется сразу после И вот после наверху будут 2настройки проверки данных; автозагрузки. макросов (* xlsm)В меню выберите команду
- Код VBA не может работают оба вариантаМеня Сергей KukIp мусора, старых и Книгу на другой кнопки макросов (Personal Macro вот тут может Microsoft Excel можно используя свойство открытия файла и его открытия (АКТИВАЦИИ),
- выпадающих списка слевамакросы, гиперссылки и элементыПримечание:и закройте ее.Excel быть отменено, поэтому SQL/ADO. И добавляет, на программерс убедил ненужных макросов и компьютерМакросы (Macros) Workbook) как место
- здорово помочь Личная прокачивать почти доCaption автоматически исчезает через
должно сразу отобразиться выбираете workbook справа ActiveX для форм; Так как ExcelПри открытии книги, код,> убедитесь, что для и обновляет. (к сожалению не т.п.сделать ее резервную копиюна вкладке для хранения записанного Книга Макросов (Personal бесконечности, которые придутв панели несколько секунд. то, что нужно Open и тудапараметры вычислений в книге будет пытаться открыть добавленных на процедуры
предпочтения… тестирования кода наek09 могу найти ссылку,у корпоративных пользователей бываютДля этого нужно будетРазработчик кода и нажмите
Как использовать Личную Книгу Макросов
Macro Workbook). к вам послеPropertiesОткройте редактор Visual Basic печатать. вставляете свой макрос и представлений окон. каждый файл вWorkbook_Open> пустую книгу или: Спасибо за помощь это давно было) иногда сложности с найти файл PERSONAL.XLSB:OKНа самом деле, знакомства с макросами: — в старыхТак что нужно
БЕЗ НАЗВАНИЯ безЧтобы создать шаблон: альтернативной папке автозагрузки,будет выполняться автоматически.ленты и панели инструментов копию существующей книги. всем ! КакаяДля того что
использованием Личной Книги, на диске вашегоВ этом же окне,:Личная Книга Макросов — приятные чувства.В итоге у вас должно версиях Excel это именно в модуль строки sub ивыберите Файл > Сохранить
укажите папку, вЕсли вы постоянно используете. Если код не то интересная штука бы прочитать последовательность т.к. это файл компьютера. По умолчанию, нажав кнопкуОстановите запись кнопкой(ЛКМ)Однако, эта статья для получиться нечто подобное: можно сделать через листа.
end sub как; которой находятся только приложение Excel дляВ категории вас устраивают, закройте получается … байт необходимо открыть в системной скрытой этот файл хранитсяПараметры (Options)Остановить запись (Stop Recording)- это обычный тех, кто ужеЩелкните правой кнопкой мыши менюВопрос решён. Ещё
Если правильно понялв поле Тип файла те файлы, которые работы с однойнастроить ленту книгу без сохраненияв открытой книге контейнер их содержащий папке
Где хранится Личная Книга Макросов
в специальной папке, можно задать сочетаниена вкладке файл Excel в «познал мощь» и
- по форме иСервис — Макрос -
- раз благодарю! Ваш вопрос выберите пункт Шаблон;
- можно открыть с
и той жев списке изменений. ссылка на ячейку (т.е. файл). Наek09 автозапуска Excel, которая клавиш для быстрогоРазработчик (Developer) формате двоичной книги начал использовать макросы выберите Редактор Visual BasicDan116А вообще приложитев поле Сохранить в помощью Excel. Если книгой или создаетеОсновные вкладкиОткройте вкладку в закрытой книге
- кластере HDD -
- : Здравствуйте
- называется XLSTART. Так
запуска макроса сПроверить результат можно, нажав ( (чужие или написанныеView Code (Tools — Macro: Добрый день. файл и Вам укажите папку, в книга с одним новые книги наустановите флажокРазработчик обновляется а макросом это просто последовательностькак макросом книги что все, что клавиатуры. Будьте внимательны: на кнопку
Personal.xlsb самостоятельно — не.В открывшийся модуль формы — Visual BasicСтоит задача, выполнить сделают, потом посмотрите которую нужно сохранить и тем же основе одного шаблона,Разработчик
P.S.
и щелкните элемент нет ))))
- байт, не имеющая 1 открыть закрытую нужно — это сочетания клавиш дляVisual Basic
- ), который автоматически в важно) в своей добавьте такой код: Editor) макрос один раз
- как сделали… думаю шаблон; именем находится и настройте Excel таким.Visual Basic
planetaexcel.ru
как макросом книги 1 открыть закрытую книгу 2 Excel ??????? (Макросы Sub)
Serge_007 привязки к конкретному
книгу 2 Excel добраться до этой макросов различают раскладкутам же на
скрытом режиме открывается повседневной работе.Private Sub UserForm_Activate(), а в новых при открытии книги, будет проще..в поле Имя файла в папке XLSTART,
образом, чтобы вашаНажмите кнопку.: Она обновляется только
файлу. Как-то так… ??????? папки на нашем (русская или английская)
вкладке одновременно с Microsoft
Макрос — это код Application.OnTime Now + кнопкой при последующих открытиях
openid.mail.ru/mail/vlad3622340 сделайте следующее:
и в альтернативной
книга или шаблон
Сохранить
В левой части в том случае,HugoВ идеале нужно ПК. И вот и регистр.Разработчик Excel. Т.е. когда (несколько строк) на TimeValue(«00:00:05»), «KillTheForm» EndVisual Basic
макрос не выполнять.: Доброго дня всемчтобы создать шаблон книги
папке автозагрузки, будет открывались при его
.Проекта VBA если Вы ОТКРЫЛИ
: Я сам не поработать макросом в тут возникает небольшаяКроме обычных макросов-процедур в
- в открывшемся вы просто запускаете языке Visual Basic, Subна вкладке
Как можно реализовать обитателям Планеты Excel! по умолчанию, введите открываться файл из запуске.Чтобы использовать в приведенномразверните папку закрытую книгу и проверял — и зарытой книге а
сложность, потому что Личной Книге можно окне редактора в Excel или открываете которые заставляют ExcelОткройте модульРазработчик (Developer)
наиболее простым способом?Подскажите пожалуйста, как Книга;
папки XLSTART.Чтобы открывать одну и ниже примере, откройтеПроекта VBA внесли в неё
в теме не
у меня почему
местоположение этой папки хранить и
левом верхнем углу любой файл с сделать то, чтоЭтаКнигаи создайте новуюСпасибо! запустить код макроса
чтобы создать шаблон листаЧтобы книга не открывалась ту же книгу новую книгу.для книги, а изменения, после чего отписались как решилось… то макрос книги зависит от версиипользовательские макро-функции на панели диска, на самом вам нужно: обработать
в левом верхнем форму, используя командуNic70y при открытии листа? по умолчанию, введите автоматически при запуске при запуске Excel,Важно: затем дважды щелкните
она опять стала Так что не 1 не работает Windows и Office(UDF = User Defined
Project — VBA Project деле открываются два данные, сформировать отчет, углу (если ее меню
:Вставляю это в Лист; Excel: в меню Файл
Код VBA не может модуль закрытой знаю. в закрытой книге и может различаться. Function)должен появиться наш файла — ваш
excelworld.ru
скопипастить много однообразных
Return to VBA Code Examples
In this Article
- Workbook_Open Event
- Auto_Open
- Create and Name New Worksheet Everytime Excel Opens
- Set the Default Sheet When Workbook Opens
- Load Form Every Time Workbook Opens
- VBA Coding Made Easy
Do you need to run a macro when Excel starts? You have two options:
1. Create a Workbook_Open() sub within ‘ThisWorkbook’.
2. Place a Auto_Open() sub within any module.
Workbook_Open Event
Create a sub titled ‘Workbook_Open’ within ‘ThisWorkbook’
Workbook_open ()
MsgBox "This code ran at Excel start!"
End Sub
Auto_Open
Using the second method: Simply create a subroutine called Auto_Open and place code in it, or call another sub from there. Automatically your code runs when Excel starts.
Private Sub Auto_Open()
MsgBox "This code ran at Excel start!"
End Sub
Create and Name New Worksheet Everytime Excel Opens
The following code works opening a workbook. It automatically adds a new sheet and labels it with the date. It also checks to see that the sheet doesn’t already exist – to allow for the possibility of it being opened more than once a day.
This code makes use of the Workbook Open Event and must be placed in the workbook module under the “Open work Book” event. The function Sheet_Exist must be placed in a module and this checks whether or not the sheet exists:
Private Sub Workbook_Open()
Dim New_Sheet_Name As String
New_Sheet_Name = Format(Now(), "dd-mm-yy")
If Sheet_Exists(New_Sheet_Name) = False Then
With Workbook
Worksheets.Add().Name = New_Sheet_Name
End With
End If
Save
End Sub
Function Sheet_Exists(WorkSheet_Name As String) As Boolean
Dim Work_sheet As Worksheet
Sheet_Exists = False
For Each Work_sheet In ThisWorkbook.Worksheets
If Work_sheet.Name = WorkSheet_Name Then
Sheet_Exists = True
End If
Next
End Function
To download the .XLSM file for this tutorial, click here
Set the Default Sheet When Workbook Opens
Do you want to make sure a sheet always shows first when a workbook opens? For instance when you open a workbook sheet3 is always the active sheet. Here’s how.
You can refer to a sheet from VBA by it’s program name (ie Sheet3) or by it’s tab name(ie JanData). It is best to use the program name, becuase if the tab name changes, your VBA code that refers to a tab name will no longer work. However if you use the program name a user can change the tab name multiple times and your macro still works.
To make sure a certain sheet is always activated when a workbook opens, just place sheet.activate code in the workbook_open sub. This is an example that activates sheet3 by using the program name everytime a workbook opens.
Private Sub Workbook_Open()
Sheet3.Activate
End Sub
And this does it by using the tab name:
Private Sub Workbook_Open()
Sheets("mytabname").Activate
End Sub
Sidenote: You must save and restart excel for this to work.
Sidenote: This only works if macros are enabled.
Sidenote: Put this code in the code window for the ThisWorkbook object in the VBE.
Load Form Every Time Workbook Opens
If you would like to load a form or run some VBA code when you open an excel workbook, place your code in the Thisworkbook code window and in the Workbook_Open sub.
From your spreadsheet:
1. Press ALT and F11 to open the VB editor
2. Double-click the word ThisWorkbook to open the code window
3. Type the following code in the ThisWorkbook code window
Private Sub Workbook_Open()
UserForm1.Show
End Sub
Sidenote: Replace Userform1 with your form name
4. Close Excel and re-open.
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!
Learn More!
<<Return to VBA Examples
Запуск макроса по времени
Весьма частый случай на практике: вам нужно запускать один или несколько ваших макросов в заданное время или с определенной периодичностью. Например, у вас есть большой и тяжелый отчет, который обновляется полчаса и вы хотели бы запускать обновление за полчаса до вашего прихода на работу утром. Или у вас есть макрос, который должен делать автоматическую рассылку сотрудникам с заданной периодичностью. Или, работая со сводной таблицей, вы хотите, чтобы она обновлялась «на лету» каждые 10 секунд и т.д.
Давайте разберемся с тем, какие в Excel и Windows есть возможности для реализации подобного.
Запуск макроса с заданной частотой
Для этого проще всего использовать встроенный в VBA метод Application.OnTime, который запускает заданный макрос в указанный момент времени. Давайте разберемся с этим на практическом примере.
Откройте редактор Visual Basic одноименной кнопкой на вкладке Разработчик (Developer) или сочетанием клавиш Alt+F11, вставьте новый модуль через меню Insert — Module и скопируйте туда следующий код:
Dim TimeToRun 'глобальная переменная, где хранится следующее время запуска 'это главный макрос Sub MyMacro() Application.Calculate 'пересчитываем книгу Range("A1").Interior.ColorIndex = Int(Rnd() * 56) 'заливаем ячейку А1 случайным цветом :) Call NextRun 'запускаем макрос NextRun для назначения след.времени запуска End Sub 'этот макрос назначает время следующего запуска главного макроса Sub NextRun() TimeToRun = Now + TimeValue("00:00:03") 'прибавляем к текущему времени 3 сек Application.OnTime TimeToRun, "MyMacro" 'назначаем следующий запуск End Sub 'макрос для запуска последовательности повторений Sub Start() Call NextRun End Sub 'макрос для остановки последовательности повторений Sub Finish() Application.OnTime TimeToRun, "MyMacro", , False End Sub
Давайте разберемся что здесь что.
Для начала, нам нужна переменная, где будет храниться время следующего запуска нашего макроса — я назвал её TimeToRun. Обратите внимание, что содержимое этой переменной должно быть доступно всем нашим последующим макросам, поэтому её надо сделать глобальной, т.е. объявить в самом начале модуля до первого Sub.
Дальше идет наш главный макрос MyMacro, который будет выполнять основную задачу — пересчитывать книгу с помощью метода Application.Calculate. Чтобы было нагляднее, я добавил на лист в ячейку А1 формулу =ТДАТА(), которая выводит дату и время — при пересчете её содержимое будет обновляться прямо у нас на глазах (только включите отображение секунд в формате ячейки). Для дополнительного веселья я добавил в макрос еще и команду заливки ячейки А1 случайно выбранным цветом (код цвета — это целое числов в диапазоне 0..56, которое генерит функция Rnd и округляет до целого числа функция Int).
Макрос NextRun добавляет к предыдущему значению TimeToRun еще 3 секунды и затем назначает следующий запуск главного макроса MyMacro на это новое время. Само-собой, на практике можно использовать любые другие нужные вам временные интервалы, задавая аргументы функции TimeValue в формате «чч:мм:сс».
Ну и, наконец, просто для удобства добавлены еще макросы запуска последовательности Start и её завершения Finish. В последнем из них для прерывания последовательности используется четвёртый аргумент метода OnTime равный False.
Итого, если запустить макрос Start, то вся эта карусель завертится, и мы увидим на листе вот такую картину:
Остановить последовательность можно, запустив, соответственно макрос Finish. Для удобства можно обоим макросам назначить сочетания клавиш, используя команду Макросы — Параметры на вкладке Разработчик (Developer — Macros — Options).
Запуск макроса по расписанию
Само-собой, всё описанное выше возможно только в том случае, если у вас запущен Microsoft Excel и в нём открыт наш файл. Теперь давайте рассмотрим более сложный случай: нужно по заданному расписанию, например, каждый день в 5:00 запускать Excel, открывать в нем большой и сложный отчет и обновлять в нем все связи и запросы, чтобы к нашему приходу на работу он был уже готов
В такой ситуации лучше воспользоваться Планировщиком Windows — специально встроенной в любую версию Windows программой, которая умеет по расписанию выполнять заданные действия. По факту, вы уже используете его, сами того не зная, ведь ваш ПК регулярно проверяет обновления, качает новые антивирусные базы, синхронизирует облачные папки и т.д. — это всё работа Планировщика. Так что наша задача сводится к тому, чтобы добавить к уже имеющимся задачам ещё одну, которая будет запускать Excel и открывать в нём заданный файл. А мы с вами повесим наш макрос на событие Workbook_Open этого файла — и задача решена.
Хочу сразу предупредить, что для работы с Планировщиком, возможно, потребуются расширенные пользовательские права, поэтому, если вы не можете найти описанных ниже команд и функций у себя на рабочем компьютере в офисе — обратитесь за помощью к вашим IT-специалистам.
Запускаем Планировщик
Итак, давайте запустим Планировщик. Для этого можно либо:
- Щелкнуть правой кнопкой мыши по кнопке Пуск и выбрать Управление компьютером (Computer management)
- Выбрать в Панели управления: Администрирование — Планировщик заданий (Control Panel — Administrative Tools — Task Scheduler)
- Выбрать в главном меню Пуск — Стандартные — Служебные — Планировщик заданий
- Нажать сочетание клавиш Win+R, ввести taskschd.msc и нажать Enter
На экране должно появиться примерно такое окно (у меня англоязычная версия, но у вас может быть и русскоязычная):
Создаем задачу
Чтобы создать новую задачу с помощью простого пошагового мастера нажмем на ссылку Создать простую задачу (Create Basic Task) в правой панели.
На первом шаге мастера нужно ввести название и описание создаваемой задачи:
Жмем на кнопку Далее (Next) и на следующем шаге выбираем триггер — частоту запуска или событие, которое будет запускать нашу задачу (например, включение компьютера):
Если вы выбрали Ежедневно (Daily), то на следующем шаге нужно будет выбрать конкретное время, дату начала последовательности и шаг (каждый 2-й день, 5-й день и т.д.):
Следующий шаг — выбираем действие — Запуск программы (Start a program):
И, наконец, самое интересное — что именно нужно открывать:
В поле Программа или сценарий (Program/script) нужно ввести путь к Microsoft Excel как к программе, т.е. непосредственно к исполняемому файлу Excel. На разных компьютерах с разными версиями Windows и Office этот файл может лежать в разных папках, поэтому вот вам несколько способов, как можно узнать его местоположение:
- Щелкнуть правой кнопкой мыши по иконке (ярлычку) запуска Excel на рабочем столе или в панели задач и выбрать команду Свойства (Properties), а затем в открывшемся окне скопировать путь из строки Target:
- Открыть любую книгу Excel, затем открыть Диспетчер задач (Task Manager) нажатием Ctrl+Alt+Del и, щелкнув правой кнопкой мыши по строке Microsoft Excel, выбрать команду Свойства (Properties). В открывшемся окне можно скопировать путь, не забыв потом дописать к нему обратный слэш и EXCEL.EXE в конце:
- Открыть Excel, открыть редактор Visual Basic сочетанием клавиш Alt+F11, открыть панель Immediate сочетанием Ctrl+G, ввести в неё команду:
? Application.Path
… и нажать на Enter
Cкопировать получившийся путь, не забыв потом дописать к нему обратный слэш и EXCEL.EXE в конце.
В поле Добавить аргументы (необязательно) (Add arguments (optional)) нужно вставить полный путь к книге с макросом, которую мы хотим открыть.
Когда всё ввели, то жмем Далее и затем Готово (Finish). Задача должна добавиться в общий список:
Управление созданной задачей удобно осуществлять с помощью кнопок справа. Здесь можно протестировать задачу, запустив её немедленно (Run), не дожидаясь наступления заданного срока. Можно временно деактивировать задачу (Disable), чтобы она перестала выполняться на время, например, вашего отпуска. Ну, и изменить параметры (даты, время, имя файла) тоже всегда можно через кнопку Свойства (Properties).
Добавляем макрос на открытие файла
Теперь осталось повесить в нашей книге запуск нужного нам макроса на событие открытия файла. Для этого откроем книгу и перейдем в редактор Visual Basic с помощью сочетания клавиш Alt+F11 или кнопки Visual Basic на вкладке Разработчик (Developer). В открывшемся окне в левом верхнем углу нужно найти наш файл на дереве и двойным щелчком мыши открыть модуль ЭтаКнига (ThisWorkbook).
Если у вас в редакторе Visual Basic не видно этого окна, то его можно открыть через меню View — Project Explorer.
В открывшемся окне модуля добавим обработчик события открытия книги, выбрав его из выпадающих списков в верхней части Workbook и Open, соответственно:
На экране должна появиться заготовка процедуры Workbook_Open, куда между строчками Private Sub и End Sub и нужно вставить те команды на VBA, которые должны автоматически выполняться при открытии этой книги Excel, когда её по расписанию откроет Планировщик. Вот несколько полезных вариантов для разгона:
- ThisWorkbook.RefreshAll — обновление всех внешних запросов к данным, запросов Power Query и сводных таблиц. Самый универсальный вариант. Только не забудьте разрешить по умолчанию подключения к внешним данным и обновление связей через Файл — Параметры — Центр управления безопасностью — Параметры центра управления безопасностью — Внешнее содержимое, иначе при открытии книги появится стандартное предупреждение и Excel, ничего не обновляя, будет ждать от вас благословления в виде нажатия на кнопку Включить содержимое (Enable content):
- ActiveWorkbook.Connections(«Имя_Соединения»).Refresh — обновление данных по соединению Имя_Соединения.
- Sheets(«Лист5«).PivotTables(«СводнаяТаблица1«).PivotCache.Refresh — обновление отдельно взятой сводной таблицы с именем СводнаяТаблица1 на листе Лист5.
- Application.Calculate — пересчет всех открытых книг Excel.
- Application.CalculateFullRebuild — принудительный пересчет всех формул и перестроение всех зависимостей между ячейками во всех открытых книгах (равносильно повторному вводу всех формул).
- Worksheets(«Отчет»).PrintOut — распечатать лист Отчет.
- Call MyMacro — запустить макрос с именем MyMacro.
- ThisWorkbook.Save — сохранить текущую книгу
- ThisWorkbooks.SaveAs «D:АрхивОтчет » & Replace(Now, «:», «-«) & «.xlsx» — сохранить книгу в папку D:Архив под именем Отчет с добавлением к имени даты и времени.
Если вы хотите, чтобы макрос выполнялся только при открытии файла Планировщиком в 5:00, а не каждый раз при открытии книги пользователем в течение рабочего дня, то имеет смысл добавить проверку на время, например:
If Format(Now, "hh:mm") = "05:00" Then ThisWorkbook.RefreshAll
Вот и всё. Не забудьте сохранить книгу в формате с поддержкой макросов (xlsm или xlsb) и можно смело закрывать Excel и отправляться домой, оставив компьютер включенным. В заданный момент (даже если ПК заблокирован) Планировщик запустит Excel и откроет в нём заданный файл, а наш макрос выполнит запрограммированные действия. А вы будете нежиться в постели, пока ваш тяжелый отчёт автоматически пересчитывается — красота!
Ссылки по теме
- Что такое макросы, как их использовать, куда вставлять код на Visual Basic в Excel
- Как создать свою надстройку с макросами для Excel
- Как использовать Личную Книгу Макросов (Personal Macro Workbook) как библиотеку для своих макросов в Excel