Заставка при открытии книги excel

Этот прием позволит Вам выводить на экран окно-заставку при открытии любой заданной книги в Excel.

splash.png

Заставка появляется сразу после открытия файла и автоматически исчезает через несколько секунд.

Шаг 1. Создаем экранную форму

Откройте редактор Visual Basic — в старых версиях Excel это можно сделать через меню Сервис — Макрос — Редактор Visual Basic (Tools — Macro — Visual Basic Editor), а в новых кнопкой Visual Basic на вкладке Разработчик (Developer) и создайте новую форму, используя команду меню Insert — UserForm. Появится пустая серая оконная форма будущей заставки. Добавим на нее изображение при помощи панели инструментов Toolbox (если у вас ее не видно, то зайдите в меню View — Toolbox):

splash2.jpg

Нажмите кнопку Image и растяните на форме прямоугольник — в него будет помещено фоновое изображение. Затем на панели инструментов Properties (если у вас ее не видно, то выберите в меню View — Properties) задайте выберите файл картинки в поле Picture:

splash3.gif

Возможно, придется немного изменить размер формы, чтобы изображение уместилось полностью. Чтобы написать на форме текст, можно использовать элемент управления Label с панели Toolbox.

Ну, и наконец, выделив предварительно всю форму, можно задать текст в строке заголовка, используя свойство Caption в панели Properties:

splash4.gif

В итоге у вас должно получиться нечто подобное:

splash5.jpg

Шаг 2. Добавляем управляющий код

Щелкните правой кнопкой мыши по форме и выберите View Code. В открывшийся модуль формы добавьте такой код:

 
Private Sub UserForm_Activate() 
   Application.OnTime Now + TimeValue("00:00:05"), "KillTheForm" 
End Sub

Откройте модуль ЭтаКнига в левом верхнем углу (если ее не видно — отобразите соответствующее окно через меню View — Project Explorer) и добавьте в него следующий код:

 
Private Sub Workbook_Open() 
   UserForm1.Show 
End Sub
 

И, наконец, вставьте обычный модуль (Insert — Module) и скопируйте туда это:

 
Private Sub KillTheForm() 
   Unload UserForm1 
End Sub 

Все. Можно закрывать редактор Visual Basic, сохранять файл и пробовать закрыть-открыть книгу…

Как это работает?

При открытии книги Excel выполняет процедуру Workbook_Open из модуля ЭтаКнига. Эта процедура отображает на экране нашу форму-заставку. При отображении формы запускается процедура UserForm_Activate, которая с задержкой в 5 секунд запускает макрос KillTheForm, который убирает форму с экрана.

Ссылки по теме

  • Что такое макросы, как с ними работать, куда вставлять код на Visual Basic

Содержание

  • 1 Шаг 1. Создаем экранную форму
  • 2 Шаг 2. Добавляем управляющий код
  • 3 Как это работает?
  • 4 Ссылки по теме
  • 5 Создание меню
  • 6 Выбор диапазона в пользовательской форме
  • 7 Создание заставки
  • 8 Отключение кнопки закрытия пользовательского диалогового окна
  • 9 Изменение размера диалогового окна
  • 10 Масштабирование и прокрутка листа в пользовательском диалоговом окне
  • 11 Применение элемента управления MultiPage
  • 12 Использование внешних элементов управления
  • 13 Анимация элемента управления Label

Этот прием позволит Вам выводить на экран окно-заставку при открытии любой заданной книги в Excel.

как сделать заставку в excel

Заставка появляется сразу после открытия файла и автоматически исчезает через несколько секунд.

Шаг 1. Создаем экранную форму

Откройте редактор Visual Basic — в старых версиях Excel это можно сделать через меню Сервис — Макрос — Редактор Visual Basic (Tools — Macro — Visual Basic Editor), а в новых кнопкой Visual Basic на вкладке Разработчик (Developer) и создайте новую форму, используя команду меню Insert — UserForm. Появится пустая серая оконная форма будущей заставки. Добавим на нее изображение при помощи панели инструментов Toolbox (если у вас ее не видно, то зайдите в меню View — Toolbox):

как сделать заставку в excel

Нажмите кнопку Image и растяните на форме прямоугольник — в него будет помещено фоновое изображение. Затем на панели инструментов Properties (если у вас ее не видно, то выберите в меню View — Properties) задайте выберите файл картинки в поле Picture:

Возможно, придется немного изменить размер формы, чтобы изображение уместилось полностью. Чтобы написать на форме текст, можно использовать элемент управления Label с панели Toolbox.

Ну, и наконец, выделив предварительно всю форму, можно задать текст в строке заголовка, используя свойство Caption в панели Properties:

В итоге у вас должно получиться нечто подобное:

как сделать заставку в excel

Шаг 2. Добавляем управляющий код

Щелкните правой кнопкой мыши по форме и выберите View Code. В открывшийся модуль формы добавьте такой код:

   Private Sub UserForm_Activate()      Application.OnTime Now + TimeValue("00:00:05"), "KillTheForm"   End Sub

Откройте модуль ЭтаКнига в левом верхнем углу (если ее не видно — отобразите соответствующее окно через меню View — Project Explorer) и добавьте в него следующий код:

   Private Sub Workbook_Open()      UserForm1.Show   End Sub   

И, наконец, вставьте обычный модуль (Insert — Module) и скопируйте туда это:

   Private Sub KillTheForm()      Unload UserForm1   End Sub   

Все. Можно закрывать редактор Visual Basic, сохранять файл и пробовать закрыть-открыть книгу…

Как это работает?

При открытии книги Excel выполняет процедуру Workbook_Open из модуля ЭтаКнига. Эта процедура отображает на экране нашу форму-заставку. При отображении формы запускается процедура UserForm_Activate, которая с задержкой в 5 секунд запускает макрос KillTheForm, который убирает форму с экрана.

Ссылки по теме

  • Что такое макросы, как с ними работать, куда вставлять код на Visual Basic

2.6K

12 марта 2004 года

Lev_ru

35 / / 05.03.2004

Поскажите, пожалуйста, как сделать, чтобы при открытии книги, появлялся рисунок секунды на 3? То есть в принципе для начала делаем форму, вставляем рисунок, а как сделать, чтобы через три секунды она исчезла? Не могу разобраться со счетчиком…

12 марта 2004 года

SergeySV

1.5K / / 19.03.2003

Цитата:

Originally posted by Lev_ru
Поскажите, пожалуйста, как сделать, чтобы при открытии книги, появлялся рисунок секунды на 3? То есть в принципе для начала делаем форму, вставляем рисунок, а как сделать, чтобы через три секунды она исчезла? Не могу разобраться со счетчиком…

Открываем форму в режиме vbModeless и запускаем таймер. В процедуре обработки сообщений от таймера обнуляем сам таймер и закрываем форму. Вроде все… В каком именно моменте проблемы?

2.6K

13 марта 2004 года

Lev_ru

35 / / 05.03.2004

Цитата:

Originally posted by SergeySV
Открываем форму в режиме vbModeless и запускаем таймер. В процедуре обработки сообщений от таймера обнуляем сам таймер и закрываем форму. Вроде все… В каком именно моменте проблемы?

Что такое режим vbModeless я так и непонял, даже в стравке не нашел. А на счет счетчика, может просто командой delay сделать?

13 марта 2004 года

SergeySV

1.5K / / 19.03.2003

Цитата:

Originally posted by Lev_ru
Что такое режим vbModeless я так и непонял, даже в стравке не нашел. А на счет счетчика, может просто командой delay сделать?

Да все очень просто, когда ты показываешь свою форму

MyForm.Show
то раньше. в Office97 форма всегда открывалась в режимк modal, то есть фокус становился на форму, никуда перейти не закрыв форму нельзя было и главное — выполнение кода останавливалось на этой строчке, т.е.
MyForm.Show
a=3
пока форма закрыта не будет, макрос не перейдет на строчку a=3

Это удобно для организации диалогов, но абсолютно неприемливо, если хочешь сделать что-то типа твоей задачи, когда нужно показать форму и продолжить выполнение программы дальше и позволять пользователь лазить по всему Excel’ю. Для этого с office2000 добавили в метод Show параметры: vbModal(описано выше) и новый параметр — vbModeless. Последний параметр как раз и дает указание Excel’ю открыть форму и продолжить выполнение макроса дальше, а не застывать на месте.

2.6K

14 марта 2004 года

Lev_ru

35 / / 05.03.2004

Цитата:

Originally posted by SergeySV
Да все очень просто, когда ты показываешь свою форму
MyForm.Show
то раньше. в Office97 форма всегда открывалась в режимк modal, то есть фокус становился на форму, никуда перейти не закрыв форму нельзя было и главное — выполнение кода останавливалось на этой строчке, т.е.
MyForm.Show
a=3
пока форма закрыта не будет, макрос не перейдет на строчку a=3 Это удобно для организации диалогов, но абсолютно неприемливо, если хочешь сделать что-то типа твоей задачи, когда нужно показать форму и продолжить выполнение программы дальше и позволять пользователь лазить по всему Excel’ю. Для этого с office2000 добавили в метод Show параметры: vbModal(описано выше) и новый параметр — vbModeless. Последний параметр как раз и дает указание Excel’ю открыть форму и продолжить выполнение макроса дальше, а не застывать на месте.

Всё понятно, modal=false, а я думал, что за vbModeless…

3.7K

14 марта 2004 года

dedtolya

41 / / 12.10.2003

Цитата:

Originally posted by Lev_ru
Всё понятно, modal=false, а я думал, что за vbModeless…

Dim Рис As Object

Dim p1 As Long, a As Long
p = 5000000 ‘ длительность паузы

Set Рис = ActiveSheet.Pictures.Insert( _

«C:Мои документыМои рисункиfloverpussywillow2.gif»)
For i = 1 To p
a = a + 1
Next
Рис.Delete

Вместо цикла можно использовать функцию Timer

Успехов dedtolya

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

Рис. 1. Меню на основе элементов управления CommandButton или ListBox

Скачать заметку в формате Word или pdf, примеры в архиве

Создание меню

Меню можно создать с помощью элементов управления CommandButton (рис. 1; см. файл userform menus.xlsm) и с помощью элемента управления ListBox. Каждый элемент управления CommandButton имеет собственную процедуру обработки событий. Например, представленная ниже процедура выполняется после щелчка на кнопке CommandButton1:

Private Sub CommandButton1_Click()

    Me.Hide

    Call Macro1

    Unload Me

End Sub

Эта процедура приводит к вызову макроса Macro1 и закрытию диалогового окна UserForm. После щелчка на других кнопках (отличных от CommandButton1) вызываются похожие процедуры обработки событий.

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

Private Sub UserForm_Initialize()

    With ListBox1

        .AddItem «Макрос1»

        .AddItem «Макрос2»

        .AddItem «Макрос3»

        .AddItem «Макрос4»

        .AddItem «Макрос5»

        .AddItem «Макрос6»

    End With

End Sub

Процедура обработки события привязывается к кнопке Выполнить:

Private Sub ExecuteButton_Click()

    Select Case ListBox1.ListIndex

        Case -1

            MsgBox «Выберите макрос из списка.»

            Exit Sub

        Case 0: Me.Hide: Call Macro1

        Case 1: Me.Hide: Call Macro2

        Case 2: Me.Hide: Call Macro3

        Case 3: Me.Hide: Call Macro4

        Case 4: Me.Hide: Call Macro5

        Case 5: Me.Hide: Call Macro6

    End Select

    Unload Me

End Sub

Данная процедура проверяет значение свойства Listlndex элемента управления ListBox, чтобы определить, какой элемент выбран в списке (если свойство Listlndex равно –1, то не выбран ни один из элементов). После этого запускается соответствующий макрос.

Выбор диапазона в пользовательской форме

Некоторые встроенные диалоговые окна Excel предоставляют пользователю возможность выбирать диапазон. Например, диалоговое окно Подбор параметра, для вызова которого следует пройти по меню Данные –> Работа с данными –> Анализ «что если « –> Подбор параметра, запрашивает у пользователя два диапазона. Пользователь может или ввести имя диапазона непосредственно в окне, или применить мышь для выделения диапазона на листе.

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

К сожалению, элемент управления RefEdit не позволяет использовать специальные клавиши при выделении диапазона (например, невозможно выделить ячейки до конца столбца, нажав комбинацию клавиш Shift+↓). Кроме того, после щелчка мышью на маленькой кнопке в правой части элемента управления (для временного сокрытия диалогового окна) можно применять только выделения с помощью мыши. Клавиатуру в этом случае применять нельзя.

На рис. 2 представлено пользовательское диалоговое окно с добавленным элементом управления RefEdit (см. файл range selection demo.xlsm). Это диалоговое окно выполняет простую математическую операцию над всеми не содержащими формул и непустыми ячейками указанного диапазона. Выполняемая операция задается активным переключателем OptionButton.

Рис. 2. С помощью элемента управления RefEdit можно выбрать диапазон

Элемент управления RefEdit возвращает текстовую строку, которая представляет выбранный диапазон. Можно преобразовать эту строку в объект Range. Для этого используется оператор:

Set UserRange = Range(RefEditl.Text)

Удачной практикой считается инициализация элемента управления RefEdit для представления текущего выделения. Для этого в процедуре UserForm_Initialize воспользуйтесь оператором:

RefEditl.Text = ActiveWindow.RangeSelection.Address

Для достижения наилучших результатов не помещайте элемент управления RefEdit внутри элемента Frame либо MultiPage. Это может привести к сбою в работе Excel. Элемент управления RefEdit не всегда возвращает действительный диапазон. Выделение диапазона указателем мыши — это один из способов присвоения значения данному элементу управления. Пользователь может ввести в поле любой текст, а также отредактировать или удалить уже отображаемый текст. Таким образом, предварительно необходимо убедиться, что диапазон является допустимым.

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

    On Error Resume Next

    Set UserRange = Range(RefEdit1.Text)

    If Err 0 Then

        MsgBox «Выбран некорректный диапазон»

        RefEdit1.SetFocus

        Exit Sub

    End If

    On Error GoTo 0

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

Set OneCell = Range(RefEditl.Text).Range("Al")

Создание заставки

Некоторые разработчики предпочитают отображать определенную вступительную информацию при запуске приложения. Эта методика называется заставкой. Без сомнения, все пользователи видели заставку Excel, которая отображается несколько секунд при запуске программы. В приложении Excel заставку можно создать с помощью пользовательского диалогового окна. В приведенном ниже примере реализуется автоматическое отображение заставки, которое исчезает по истечении пяти секунд (рис. 3; см. файл splash screen.xlsm). Для создания заставки выполните следующие действия:

  1. Создайте рабочую книгу.
  2. Активизируйте редактор VBE и вставьте пользовательское диалоговое окно в проект. Код в этом примере предполагает, что объект UserForm называется UserForm1.
  3. Поместите любые необходимые элементы управления в только что созданное диалоговое окно UserForm1. Например, вам может понадобиться расположить элемент управления Image, который будет содержать логотип компании (рис. 3).
  4. Вставьте процедуру в модуль кода для объекта ЭтаКнига (ThisWorkbook):

Private Sub Workbook_Open()

    UserForm1.Show

End Sub

  1. Вставьте следующую процедуру в модуль кода для объекта UserForm1 (эта процедура обеспечивает пятисекундную задержку). Если нужно другое время задержки, измените значение аргумента функции TimeValue.

Private Sub UserForm_Activate()

    Application.OnTime Now + TimeValue(«00:00:05»), «KillTheForm»

End Sub

Рис. 3. Эта заставка на короткое время появляется на экране после открытия рабочей книги

  1. В общий модуль VBA вставьте следующую процедуру.

Private Sub KillTheForm()

    Unload UserForm1

End Sub

При открытии рабочей книги будет выполнена процедура Workbook_Open и появится диалоговое окно UserForm (п. 4). В этот момент генерируется событие Activate, которое приводит к выполнению процедуры UserForm_ Activate (п. 5). Данная процедура использует метод OnTime объекта Application для выполнения процедуры KillTheForm в определенный момент времени. Однако предварительно определена задержка в пять секунд с момента возникновения события Activate. Процедура KillTheForm просто выгружает диалоговое окно UserForm из памяти.

  1. В качестве необязательного действия можно добавить элемент управления CommandButton с именем CancelButton, установить его свойство Cancel равным True и добавить представленную ниже процедуру обработки события в модуль кода формы UserForm.

Private Sub CancelButton_Click()

    Unload Me

End Sub

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

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

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

Private Sub Workbook_Open()

    UserForml.Show vbModeless

    ‘ другой код

End Sub

Отключение кнопки закрытия пользовательского диалогового окна

Если пользовательское диалоговое окно уже отображено на экране, щелчок на кнопке Закрыть в правом верхнем углу приведет к выгрузке формы UserForm из памяти. Иногда этого допускать нельзя. Например, иногда требуется, чтобы диалоговое окно UserForm закрывалось только после щелчка на специальной кнопке CommandButton. Несмотря на то что реально отключить кнопку Закрыть невозможно, вы вправе предотвратить закрытие диалогового окна, вызванное щелчком на этой кнопке. Для этого воспользуйтесь обработчиком события QueryClose (см. файл gueryclose demo.xlsm). Следующая процедура, которая расположена в модуле кода диалогового окна UserForm, выполняется перед закрытием формы (т.е. в момент возникновения события QueryClose).

Private Sub UserForm_QueryClose _

  (Cancel As Integer, CloseMode As Integer)

    If CloseMode = vbFormControlMenu Then

        MsgBox «Щелкните на кнопке OK для закрытия формы.»

        Cancel = True

    End If

End Sub

Процедура UserForm_QueryClose использует два аргумента. Аргумент CloseMode содержит значение, которое указывает на причину возникновения события QueryClose. Если значение аргумента CloseMode равно vbFormControlMenu (встроенная константа), значит, пользователь щелкнул на кнопке Закрыть. В таком случае будет отображено сообщение (рис. 4); аргумент Cancel устанавливается равным True, и форма не закрывается.

Рис. 4. Процедура перехватывает закрытие окна, и оставляет его открытым

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

Application.EnableCancelKey = xlDisabled

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

Изменение размера диалогового окна

Во многих приложениях используются окна, которые могут изменять собственные размеры, добавляя кнопки и опции. Например, высота диалогового окна Excel Найти и заменить, которое отображается после выбора команды Главная –> Редактирование –> Найти и выделить –> Заменить, увеличивается после щелчка на кнопке Параметры.

Изменение размеров пользовательского диалогового окна осуществляется путем изменения значений свойств Width и Height объекта UserForm. На рис. 5а показано первоначальное диалоговое окно, а на рис. 5б показано это же окно после щелчка на кнопке Параметры. Обратите внимание на то, что надпись на кнопке изменяется в зависимости от размера диалогового окна (см. файл change userform size.xlsm).

Рис. 5. Диалоговое окно: вверху – в стандартном режиме; внизу – после нажатия на кнопке Параметры

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

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

Const SmallSize As Integer = 124
Const LargeSize As Integer = 164

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

Private Sub OptionsButton_Click()

    If OptionsButton.Caption = «Параметры >>» Then

        Me.Height = LargeSize

        OptionsButton.Caption = «>»

    End If

End Sub

Эта процедура проверяет значение свойства Caption объекта CommandButton и устанавливает значение свойства Height объекта UserForm в соответствии с полученным значением свойства Caption.

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

Масштабирование и прокрутка листа в пользовательском диалоговом окне

Для прокрутки и масштабирования листа при активном диалоговом окне можно применить элемент управления ScrollBar (рис. 6; см. файл zoom and scroll sheet.xlsm). В этом примере масштаб можно изменять в диапазоне от 100 до 400%. Два элемента управления ScrollBar в нижней части диалогового окна позволяют прокручивать лист по горизонтали и по вертикали.

Рис. 6. Элементы управления ScrollBar позволяют прокручивать лист и изменять его масштаб

Элементы управления инициализируются в процедуре UserForm_Initialize:

Private Sub UserForm_Initialize()

    LabelZoom.Caption = ActiveWindow.Zoom & «%»

‘   Масштабирование

    With ScrollBarZoom

        .Min = 10

        .Max = 400

        .SmallChange = 1

        .LargeChange = 10

        .Value = ActiveWindow.Zoom

    End With

‘   Прокрутка по горизонтали

    With ScrollBarColumns

        .Min = 1

        .Max = ActiveSheet.UsedRange.Columns.Count

        .Value = ActiveWindow.ScrollColumn

        .LargeChange = 25

        .SmallChange = 1

    End With

‘   Прокрутка по вертикали

    With ScrollBarRows

        .Min = 1

        .Max = ActiveSheet.UsedRange.Rows.Count

        .Value = ActiveWindow.ScrollRow

        .LargeChange = 25

        .SmallChange = 1

    End With

End Sub

Эта процедура позволяет устанавливать значения различных свойств элементов управления ScrollBar. Значения определяются на основе данных, полученных из активного окна. При использовании элемента управления ScrollBarZoom выполняется процедура ScrollBarZoom_Change. Она устанавливает значение свойства Zoom объекта ActiveWindow равным значению свойства Value элемента управления ScrollBar. Кроме того, изменяется текст подписи, которая представляет текущий масштаб рабочего листа.

Private Sub ScrollBarZoom_Change()

    With ActiveWindow

        .Zoom = ScrollBarZoom.Value

        LabelZoom = .Zoom & «%»

        .ScrollColumn = ScrollBarColumns.Value

        .ScrollRow = ScrollBarRows.Value

    End With

End Sub

Прокрутка листа осуществляется с помощью двух процедур. Эти процедуры устанавливают значение свойств ScrollRow и ScrollColumns объекта ActiveWindow равными значениям свойств Value элементов управления ScrollBar.

Private Sub ScrollBarColumns_Change()

    ActiveWindow.ScrollColumn = ScrollBarColumns.Value

End Sub

Private Sub ScrollBarRows_Change()

    ActiveWindow.ScrollRow = ScrollBarRows.Value

End Sub

При нажатии на кнопку Ok пользовательская форма закрывается:

Private Sub OKButton_Click()

    Unload Me

End Sub

Применение элемента управления MultiPage

Элемент управления MultiPage применяется при отображении в пользовательских диалоговых окнах множества элементов управления. Элемент управления MultiPage позволяет группировать опции, а также размещать каждую группу на отдельной вкладке (рис. 7; см. файл multipage control demo.xlsm). Панель инструментов Toolbox также включает элемент управления TabStrip, напоминающий элемент управления MultiPage. Однако в отличие от MultiPage, элемент управления TabStrip не может включать другие объекты. Поскольку элемент управления MultiPage является более гибким, вряд ли вам придется обращаться к элементу управления TabStrip.

Рис. 7. Элемент управления MultiPage группирует элементы управления на страницах, доступ к которым обеспечивается с вкладки

Вкладка (или страница), которая отображается поверх всех остальных, определяется значением свойства Value элемента управления MultiPage. Значение 0 соответствует первой вкладке. Значение 1 вызывает отображение второй вкладки и т.д. По умолчанию элемент управления MultiPage состоит из двух страниц. Для того чтобы добавить дополнительные вкладки, щелкните на любой вкладке правой кнопкой мыши и в контекстном меню выберите пункт New Page.

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

Если элемент управления MultiPage содержит много вкладок, то присвойте его свойству MultiRow значение True, чтобы отобразить вкладки в несколько строк. Если необходимо, то вместо вкладок можно отображать кнопки. Достаточно изменить значение свойства Style на 1. Если значение свойства Style равно 2, элемент управления MultiPage не будет отображать ни вкладки, ни кнопки.

Свойство TabOrientation определяет расположение вкладок на элементе управления MultiPage. Для каждой страницы можно установить эффект перехода. Для этого воспользуйтесь свойством TransitionEffect. Например, щелчок на вкладке приведет к тому, что новая страница «отодвинет» старую. Применяйте свойство TransitionPeriod, чтобы задать скорость эффекта перехода.

Использование внешних элементов управления

Пример, рассматриваемый в этом разделе, основан на элементе управления Microsoft Windows Media Player. Несмотря на то что он не является элементом управления Excel (настраивается при установке Windows), он прекрасно работает с формами UserForm. Для того чтобы воспользоваться элементом управления Microsoft Windows Media Player выполните следующие действия:

  1. Активизируйте среду VBE.
  2. Создайте новую пользовательскую форму: Insert –> UserForm.
  3. Щелкните правой кнопкой мыши на панели Toolbox и в контекстном меню выберите параметр Additional Controls (Дополнительные элементы управления). Если окно Toolbox не отображается, выполните команду View –> Toolbox.
  4. В окне Additional Controls установите флажок Windows Media Player (рис. 8).
  5. Щелкните на кнопке ОК. Набор инструментов пополнится новым элементом управления.

Рис. 8. Подключение элемента управления Microsoft Windows Media Player

На рис. 9 показаны элемент управления Windows Media Player, встроенный в форму UserForm, а также окно Properties (см. также файл mediaplayer.xlsm, расположенный в отдельной папке). Свойство URL определяет URL-ссылку воспроизводимой композиции (музыкальная запись или видеоролик). Если композиция находится на жестком диске вашего компьютера, свойство URL определяет полный путь и имя соответствующего файла.

Рис. 9. Элемент управления Windows Media Player, встроенный в форму

На рис. 10 показан пример использования этого элемента управления. Для сокрытия окна, предназначенного для отображения видеороликов, была уменьшена высота окна элемента управления Windows Media Player. Также был добавлен список, созданный на основе элемента управления ListBox, в котором отображаются аудиофайлы MP3. После щелчка на кнопке Пуск начинается воспроизведение выбранного файла. Щелчок на кнопке Закрыть приведет к прекращению воспроизведения и к закрытию окна UserForm. Форма UserForm отображается в немодальном режиме, поэтому можно продолжать работу во время отображения диалогового окна.

Рис. 10. Элемент управления Windows Media Player в действии

Названия МРЗ-файлов в окне списка отображаются с помощью процедуры UserForm_Initialize. В целях упрощения алгоритма аудофайлы находятся в той же папке, что и рабочая книга. Можно реализовать и более гибкий подход, предусматривающий выбор пользователем папки, содержащей требуемые аудиофайлы.

Private Sub UserForm_Initialize()

    Dim FileName As String

‘   Заполнение списка MP3-файлами

    FileName = Dir(ThisWorkbook.Path & «*.mp3», vbNormal)

    Do While Len(FileName) > 0

        ListBox1.AddItem FileName

        FileName = Dir()

    Loop

    ListBox1.ListIndex = 0

End Sub

Код обработчика событий PlayButton_Click включает единственный оператор, который присваивает выбранное имя файла свойству URL объекта WindowsMediaPlayer1.

Private Sub PlayButton_Click()

‘   Свойство URL загружает трек и запускает плеер

    WindowsMediaPlayer1.URL = _

      ThisWorkbook.Path & «» & ListBox1.List(ListBox1.ListIndex)

End Sub

Анимация элемента управления Label

Форма UserForm (рис. 11) представляет собой интерактивный генератор случайных чисел. Два элемента управления TextBox содержат верхнее и нижнее значения для случайного числа. Элемент управления Label изначально отображает четыре знака вопроса, а после щелчка мышью на кнопке Пуск отображаются анимированные случайные числа. При этом кнопка Пуск превращается в кнопку Остановить, а щелчок на ней мышью приводит к прекращению анимации и отображению случайного числа. Код, связанный с кнопкой генератора случайных чисел можно найти в модуле UserForm1 файла random number generator.xlsm.

Рис. 11. Генератор случайных чисел

Поскольку кнопка выполняет две функции (запуск и остановка анимации), в процедуре используется общедоступная переменная Stopped, с помощью которой отслеживается состояние кнопки. Первая часть процедуры состоит из двух структур If-Then, с помощью которых проверяется содержимое элементов управления TextBox. Два другая подобных оператора позволяют удостовериться в том, что меньшая величина действительно не превосходит большей величины. В следующем разделе кода осуществляется настройка размера шрифта элемента управления Label на основании максимальной величины. Цикл Do Until loop генерирует и отображает случайные числа. Обратите внимание на оператор DoEvents. Он позволяет Excel использовать все возможности операционной системы. Если бы его не было, элемент управления Label не смог бы отобразить каждое генерируемое случайное число. Другими словами, именно оператор DoEvents делает возможной анимацию.

Форма UserForm также включает элемент управления CommandButton, который выполняет функции кнопки Отмена. Этот элемент управления находится за пределами окна UserForm, поэтому невидим. Свойству Cancel элемента управления CommandButton присвоено значение True. Вследствие этого нажатие клавиши дает тот же эффект, что и щелчок на кнопке Отмена. Соответствующая процедура обработки событий присваивает переменной Stopped значение True и выгружает форму UserForm.

По материалам книги Джон Уокенбах. Excel 2010. Профессиональное программирование на VBA. – М: Диалектика, 2013. – С. 439–449, 466–472.

Create a pop-up window, splash screen, that appears when Excel starts.

This allows you to add a new level of professionalism to your workbooks.

0b74b9255ca89380d3e90198abaa7b24.jpg

Sections:

Add a Splash Screen

AutoClose the Splash Screen

Remove Borders and the Title Bar from the Splash Screen

Notes

Add a Splash Screen

Create a UserForm

A UserForm is what will be displayed as the splash screen.

If you do not know how to create a UserForm, view our tutorial on creating a UserForm.

Here is a simple splash screen example:

be41c66f21199fadd57a27371aa9c8e6.png

This contains only a Label and an Image.

Make the UserForm Run When Excel Starts

The splash screen must appear when Excel first starts. To do this, we have to put a piece of code within the ThisWorkbook section of the VBA window.

Go to the VBA window (Alt+F11) > Double-click ThisWorkbook > Place the code into the window that opens.

Private Sub Workbook_Open()

UserForm1.Show

End Sub

UserForm1 is the name of the form that you want to be displayed.

If you already have code that runs for the Workbook_Open event, just paste the line UserForm1.Show into that code section.

8ed0c69164592fdf8c63ac92cb9fc5c6.png

AutoClose the Splash Screen

You can have the splash screen appear for a few seconds and then disappear. This is a simple way to let the user see it without making them take an action to close the window.

To do this, we put two lines of code into the UserForm_Activate event.

Go to the VBA window (Alt+F11) > right-click the form > click View Code > paste this code:

Private Sub UserForm_Activate()

'Pause the window.
Application.Wait (Now + TimeValue("00:00:04"))

'Close the window.
Unload Me

End Sub

This will make the splash screen appear for 4 seconds.

Change the 04 to any value from 1 to 59 to keep the window open for more or less time.

159bc63ff20543cec7359782dbf058cd.png

Once you do this, every time you go to view the splash screen, it will only appear for the prescribed amount of time.

Remove Borders and the Title Bar from the Splash Screen

To make the splash screen look more professional, you can remove the title bar, that contains the title of the window, and the close button, as well as removing the border that surrounds the form.

Note: before you do this, you must have a way to close the form, either by placing a close button on the form, making a click-event that closes the form, or by having the form auto-close after so many seconds, like we did in the example above.

Removing the Title bar and border is an annoyingly complex thing to do, as such, we have an entire tutorial on this topic and you should view it if you want to do this: Remove the Title Bar from a UserForm.

Before Removing the Title Bar and Border

9d9f55ffb0530a97f65349faa3f9b3f0.jpg

After Removing the Title Bar and Border

a8d88b469c2648fa5caf63f5dd784adf.jpg

Notes

Macros must be enabled for the splash screen to appear.

Make sure that you have a way to close the splash screen if you have removed the title bar and border!

Download the sample file for this tutorial to get this example in Excel.

Similar Content on TeachExcel

Create a Custom Function in Excel — UDF

Tutorial: How to create a custom worksheet function in Excel. These are called User Defined Function…

Dynamic Named Range in Excel

Tutorial:
How to create a named range that expands automatically when a new value is added to the r…

Make a UserForm in Excel

Tutorial: Let’s create a working UserForm in Excel.
This is a step-by-step tutorial that shows you e…

Create a Line Chart with a Macro in Excel

Macro: Create a line chart in Excel with this macro. This allows you to quickly and easily create…

Create a Bar Chart With a Macro in Excel

Macro: Create a bar chart in Excel with this macro. You will be able to quickly and easily turn a…

Thermometer Chart in Excel

Tutorial:
How to create a thermometer chart in Excel.

This is what we want:

Steps to Create a The…

Subscribe for Weekly Tutorials

BONUS: subscribe now to download our Top Tutorials Ebook!

Автоматический запуск макроса при открытии книги

​Смотрите также​​Мне всегда хватает​ 2)​ Обычно это один​. В отличие от​ файл​ и Personal.xlsb, но​ таблиц и т.п.​ не видно -​Insert — UserForm​Private Sub Workbook_Open()​ модуль листа, но​чтобы создать настраиваемый шаблон​перейдите в папку, в​ выберите пункт Сохранить​ быть отменено, поэтому​ЭтаКнига​Примечание:​ одного из двух​пробовал прописать макрорекордером​ из следующих вариантов:​

​ процедур, код функций​PERSONAL.XLSB​ второго мы не​ Вопрос — где​ отобразите соответствующее окно​. Появится пустая серая​If Sheets(«Лист1»).[a1] <>​ ничего не сортируется.​ книги или листа,​

​ которой хранится книга​

​ как > Компьютер,​ убедитесь, что для​. Если вы​​ Мы стараемся как можно​​ проверенных способов​ открытие книги -​C:Program FilesMicrosoft OfficeOffice12XLSTART​

​ начинаются с оператора​. Его ветку которого​ видим. Таким образом​

​ эти несколько строк​​ через меню​ оконная форма будущей​ 8 Then MsgBox​Sub Worksheet_Open()​ введите любое имя;​ (XLSTART или альтернативная​ нажмите Обзор и​ тестирования кода на​ не видите окно​ оперативнее обеспечивать вас​

  1. ​KuklP​​ тоже не помогло​​C:Documents and SettingsComputerApplication DataMicrosoftExcelXLSTART​​Function​​ можно развернуть плюсиком​

    Группа

  2. ​ все макросы, которые​​ кода хранить? Ведь​​View — Project Explorer​​ заставки. Добавим на​​ «Это последнее предупреждение!»​Range(«J1»).Select​нажмите Сохранить;​​ папка), выберите книгу​​ выберите папку XLSTART.​ пустую книгу или​ проекта, можно перейти​ актуальными справочными материалами​​: Где он там​​ ((((​​C:Usersимя-вашей-учетной-записиAppDataRoamingMicrosoftExcelXLSTART​​или​​ слева, добравшись до​​ хранятся в ЛКМ​

    Модуль ThisWorkbook в редакторе Visual Basic (VBE)

  3. ​ от того, где​) и добавьте в​ нее изображение при​

    ​Sheets("Лист1").[a1] = 8​
    ​Selection.AutoFilter Field:=1, Criteria1:="НА​выберите Файл > Закрыть.​
    ​ и нажмите Удалить.​

  4. ​В чистой установке выпуска​ копию существующей книги.​​ в​​ на вашем языке.​​ такое сказал? И​​Может кто нибудь​

    ​Как вариант, можно спросить​​Public Function​​Module1​ оказываются доступы для​

  5. ​ макрос хранится будет​​ него следующий код:​ помощи панели инструментов​​ActiveWorkbook.Save​

​ ПЕЧАТЬ»​Автоматический макрос (например, Auto_Open),​​Вы можете сохранить часто​​ Windows Vista или​

​ Если код не​режим​ Эта страница переведена​​ что по-твоему означает​​ в курсе можно​ о положении этой​

  1. ​, а заканчиваются на​​, где и хранится​​ запуска в любой​​ потом зависеть где​​Private Sub Workbook_Open()​​Toolbox​​End Sub​

  2. ​End Sub​​ записанный в книгу,​​ используемые настройки книги​​ более новой версии​​ вас устраивают, закройте​​>​​ автоматически, поэтому ее​

  3. ​ строка:​​ ли так сделать​​ папки сам Excel​

​End Function​ код только что​ момент, пока открыт​

​ он сможет (или​​ UserForm1.Show End Sub​(если у вас​Лист1 скрыть​Как правильно сделать?​ которая открывается при​ в шаблоне и​ путь к папке​ книгу без сохранения​Окно проекта​ текст может содержать​

  1. ​cn.Open sCon​​ ?​​ с помощью VBA.​​:​​ записанного нами бессмысленного​

  2. ​ Excel.​​ не сможет) работать.​​И, наконец, вставьте обычный​​ ее не видно,​​_Boroda_​Извините, в макросах​ запуске Excel, запускается​​ автоматически открывать его​​ XLSTART обычно выглядит​

  3. ​ изменений.​или нажмите клавиши​ неточности и грамматические​

    ​?​
    ​???? очень нужна​ Для этого в​
    ​Код необходимо аналогичным образом​

  4. ​ макроса:​Если вы еще ни​​Если макрос решает небольшую​​ модуль (​​ то зайдите в​​: Проще всего ставить​

    ​ я новичок.​​ сразу же при​​ каждый раз при​ так:​

  5. ​Откройте вкладку​​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.0​Serge_007​ (кнопка​ модуль книги PERSONAL.XLSB​ создали себе Личную​ ЛКМ, то изначально​ отдельно взятом файле​) и скопируйте туда​

  • ​View — Toolbox​ А лучше наоборот​: Лист не открывают,​Чтобы макрос не запустился,​Чтобы использовать шаблон книги,​ пользователя)AppDataMicrosoftExcelXLSTART;​
    ​и щелкните элемент​В открывшейся в правой​

​ статья была вам​AndreTM​

  • ​: У Вас слишком​Visual Basic​ и затем можно​ Книгу Макросов! Только​
    ​ файл Personal.xlsb не​ (например обрабатывает внесенные​
    ​ это:​):​ — изначально метка​

​ а активируют :)​​ удерживайте клавишу SHIFT​ создайте книгу, которая​Office 2013 C2R — C:Пользователи(Имя​Visual Basic​ части окна модуля​ полезна. Просим вас​:​ много знаков вопроса​

Использование альтернативной папки автозагрузки

​на вкладке​ будет вызвать функцию​ не забудьте нажать​ существует. Самый легкий​

  1. ​ в конкретный отчет​Private Sub KillTheForm()​

  2. ​Нажмите кнопку​ есть, макрос при​Private Sub Worksheet_Activate()​ во время запуска​ содержит листы, стандартный​

​ пользователя)AppDataMicrosoftExcelXLSTART.​​.​ вставьте следующий код:​ уделить пару секунд​Цитата​ и скобок​Разработчик​ обычным образом, как​ на кнопку сохранения​ способ его создать​ данные особым образом),​ Unload UserForm1 End​Image​ запуске проверяет ее​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, сохранять​

  • ​ него будет помещено​

  • ​ стирает эту метку.​ лист у вас​

  • ​ фильтр в таблице​ стили и другое​

​ выглядеть так:​

  1. ​Проекта VBA​End Sub​

  2. ​ внизу страницы. Для​ строка: cn.Open sCon​

  3. ​Workbooks.Open Filename:=»C:путьКнига2.xls»​Ctrl+G​x​Дальше все просто. Любой​

  4. ​ указать в качестве​ вопросов.​

    • ​ файл и пробовать​ фоновое изображение. Затем​ Все последующие разы​

    • ​ один, скорее всего​ при открытии страницы​ форматирование, которое вы​

    • ​Office 2013 — C:Program​для книги, а​Вставьте код записанные в​

  5. ​ удобства также приводим​

  6. ​В вопросе ТС​

Отмена запуска автоматического макроса при запуске Excel

​End Sub​, ввести туда команду​в строке формул​ нужный вам макрос​ места для его​А если макрос должен​

  • ​ закрыть-открыть книгу…​ на панели инструментов​ макрос проверяет метку​ имеется ввиду открытие​

support.office.com

Автозапуск макроса при открытии книги

​Имеется макрос на​​ собираетесь постоянно использовать​ FilesMicrosoft OfficeOffice 15XLSTART​ затем дважды щелкните​
​ подпрограмме между строками​ ссылку на оригинал​
​ фразой «закрытая книга»​Цитата​? Application.StartupPath​
​ и выбрав функцию​ (т.е. кусок кода,​ хранения Личную Книгу​ быть относительно универсален​
​При открытии книги Excel​Properties​ — ее нет​

​ книги.​​ применение фильтра​ в шаблоне.​Office 2013 C2R —​

​ модуль​​Sub​ (на английском языке).​ подразумевалось, скорее всего,​(ek09)200?’200px’:»+(this.scrollHeight+5)+’px’);»>нужно поработать макросом​и нажать на​ в окне​ начинающийся на​ — тогда Excel​ и нужен в​ выполняет процедуру​(если у вас​ — и не​В модуль книги:​Задача: запустить макрос​
​Настройки, которые можно сохранить​ C:Program FilesMicrosoft Office​
​ЭтаКнига​и​Макрос, записанный может потребоваться​ «не открытая в​ в зарытой книгеЭто​

planetaexcel.ru

Выполнение макроса при открытии (активации) листа

​Enter​​Мастера Функций​Sub​
​ будет вынужден автоматически​ любой книге Excel​Workbook_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/vlad3622340​Sub Workbook_Open() Sheets(«таблица»).Range(«B5»).AutoFilter​количество и тип страниц​

Excel макрос при открытии книгиȎxcel

​ например Auto_Open, макрос​ code here​Сохранение книги в виде​ макрос автоматически при​

Шаг 1. Создаем экранную форму

​ наличие на компьютере-клиенте​ и незаметно, но​Enter​ или здесь же​, либо в отдельный​​не видно, то​ раз в каждую​UserForm_Activate​:​ листе, а в​​: Спасибо большое, Webley!​ Field:=2, Criteria1:=»<>0″ End​​ в книге;​​ будет по умолчанию​​End Sub​​книги Excel с поддержкой​ запуске Excel.​ самого Excel при​​ всё-таки придётся​​- и мы​ на сайте (сумма​ модуль, добавив его​ ее можно включить​ книгу? Кроме того,​​, которая с задержкой​​Возможно, придется немного изменить​ свойствах, например.​Sub Worksheet_Activate() работает!​ SubСпасибо!​​защищенные и скрытые области​​ запускаться при запуске​

Excel макрос при открытии книгиȎxcel

​Вставьте код записанные в​​ макросов (* xlsm)​​Windows macOS ​ этом совершенно необязательно​Hugo​ увидим папку с​ прописью, приблизительный текстовый​​ предварительно через меню​​ в настройках через​ рано или поздно,​ в 5 секунд​ размер формы, чтобы​​Можно создавать специальный​​А я где-то​LVL​​ книги. Вы можете​​ Excel.​

Excel макрос при открытии книгиȎxcel

​ подпрограмме между строками​и закройте ее.​Прежде чем начать, убедитесь,​Hugo​: Сергей, R Dmitry​ нашим файлом Личной​​ поиск, ВПР 2.0,​​Insert — Module​​Файл — Параметры -​

​ почти любой пользователь​ запускает макрос​ изображение уместилось полностью.​ проверочный файл​ вычитал, что Worksheet_Open​​: поместить этот код​​ скрыть листы, столбцы​​Если вы сохранили автоматически​​Sub​

Excel макрос при открытии книгиȎxcel

​При открытии книги, код,​ что отображаются вкладки​

Excel макрос при открытии книгиȎxcel

Шаг 2. Добавляем управляющий код

​: Сергей, ну в​ сказал, что можно​ Книги Макросов:​​ конвертация кириллицы в​​. Хранить все макросы​ Настройка ленты (Home​

​ приходит к мысли,​KillTheForm​ Чтобы написать на​Можно …​

​ и с этим​​ в модуль книги​​ и строки, чтобы​ запускаемую книгу в​и​ добавленных на процедуры​ «​​ общем конечно «не​​Тут: http://www.planetaexcel.ru/forum….D=28979 в​И несколько практических нюансов​

​ транслит и т.п.)​ в одном модуле​

​ — Options -​ что неплохо было​​, который убирает форму​​ форме текст, можно​Dan116​

​ мучился.​ (ЭтаКнига)​ предотвратить изменения в​

​ другом месте, выполните​End Sub​Workbook_Open​Разработчик​

Как это работает?

​ притрагиваясь» к файлу​ конце.​​ вдогон:​​Если вы будете использовать​​ или раскладывать по​​ Customize the Ribbon)​ бы сложить все​ с экрана.​ использовать элемент управления​​: всем спасибо за​​Это в примере​alexthegreat​ ячейках;​​ следующее:​​.​будет выполняться автоматически.​

planetaexcel.ru

Как использовать Личную Книгу Макросов

​» на ленте.​ в нём ничего​Вообще вся тема​при использовании Личной Книги​ Личную Книгу Макросов,​ разным — исключительно​.​ макросы в одну​Если вы еще не​Label​ идеи!​ лист один, а​: заходите в ВБА,​

​повторяемый текст, например подписи​выберите Файл > Параметры​Закройте​Прежде чем начать, убедитесь,​ Подробнее читайте вкладку​ изменить нельзя. Ну​ в тему, без​ Макросов Excel будет​

​ то рано или​ вопрос вкуса. Выглядеть​На вкладке​ коробку, т.е. иметь​ знакомы с макросами​с панели​Этот прием позволит Вам​ в оригинале 6.​ там слева будут​ страниц, столбцов и​ Excel > Дополнительно;​Редактор Visual Basic​ что отображаются вкладки​ «Разработчик».​ разве что если​ воды.​ запускаться чуть медленнее,​

​ поздно у вас​ это должно примерно​Разработчик​ их всегда под​ в Excel, то​Toolbox.​ выводить на экран​ После открытия книги​ объекты, смотрите Объект​ строк;​

​в разделе Общие в​(не нужно ничего​ «​Чтобы использовать в приведенном​ только изменив адресацию​Serge_007​ особенно на слабых​ возникнет желание:​ так:​нажмите кнопку​ рукой. И может​ я вам даже​Ну, и наконец, выделив​ окно-заставку при открытии​ другие листы изменяются​ ЭТА КНИГА, щелкаете​данные, графические элементы, формулы,​ поле Каталог автозагрузки​ сохранять).​Разработчик​ ниже примере, откройте​ диска​: Я Диму конечно​ ПК​поделиться своими накопленными макросами​Запустить добавленный макрос можно​Запись макроса (Record Macro)​ быть даже запускать​

Как создать Личную Книгу Макросов

​ немного завидую. Ощущение​​ предварительно всю форму,​ ​ любой заданной книги​​ вручную и влияют​ по нему 2​ диаграммы и другую​ введите полный путь​​Сохранение книги в виде​​» на ленте.​ новую книгу.​И кстати только​ уважаю, но нет,​стоит периодически очищать Личную​ с другими пользователями​ в диалоговом окне,​. В открывшемся окне​ не вручную, а​ всемогущества и осознание​ можно задать текст​ в Excel.​ на этот лист.​ раза, открывается, далее​ информацию;​ к альтернативной папке​книги Excel с поддержкой​ Это можно сделать:​Важно:​

​ что проверил -​ не верю​ Книгу от информационного​скопировать и перенести Личную​ вызываемом с помощью​ выберите Личную книгу​ сочетаниями клавиш? И​ того, что ваш​ в строке заголовка,​Заставка появляется сразу после​ И вот после​ наверху будут 2​настройки проверки данных;​ автозагрузки.​ макросов (* xlsm)​В меню выберите команду​

  1. ​ Код VBA не может​​ работают оба варианта​​Меня Сергей KukIp​​ мусора, старых и​​ Книгу на другой​ кнопки​ макросов (Personal Macro​​ вот тут может​ Microsoft Excel можно​ используя свойство​ открытия файла и​​ его открытия (АКТИВАЦИИ),​
  2. ​ выпадающих списка слева​​макросы, гиперссылки и элементы​​Примечание:​​и закройте ее.​​Excel​ быть отменено, поэтому​ SQL/ADO. И добавляет,​ на программерс убедил​ ненужных макросов и​ компьютер​​Макросы (Macros)​​ Workbook) как место​
    Записываем макрос в Личную Книгу Макросов
  3. ​ здорово помочь Личная​​ прокачивать почти до​​Caption​​ автоматически исчезает через​

​ должно сразу отобразиться​ выбираете workbook справа​​ ActiveX для форм;​​  Так как Excel​При открытии книги, код,​​>​​ убедитесь, что для​ и обновляет.​ (к сожалению не​ т.п.​​сделать ее резервную копию​​на вкладке​ для хранения записанного​​ Книга Макросов (Personal​​ бесконечности, которые придут​в панели​ несколько секунд.​​ то, что нужно​​ Open и туда​параметры вычислений в книге​ будет пытаться открыть​ добавленных на процедуры​

Личная Книга Макросов в редакторе VBA

​предпочтения…​ тестирования кода на​ek09​ могу найти ссылку,​у корпоративных пользователей бывают​Для этого нужно будет​Разработчик​ кода и нажмите​

Как использовать Личную Книгу Макросов

​ Macro Workbook).​ к вам после​Properties​Откройте редактор Visual Basic​​ печатать.​​ вставляете свой макрос​​ и представлений окон.​​ каждый файл в​Workbook_Open​>​​ пустую книгу или​​: Спасибо за помощь​ это давно было)​ иногда сложности с​​ найти файл PERSONAL.XLSB​​:​OK​На самом деле,​ знакомства с макросами​:​ — в старых​Так что нужно​

Полезный макрос в Личной Книге Макросов

​ БЕЗ НАЗВАНИЯ без​Чтобы создать шаблон:​ альтернативной папке автозагрузки,​будет выполняться автоматически.​​ленты и панели инструментов​​ копию существующей книги.​​ всем ! Какая​​Для того что​

Запуск макросов

​ использованием Личной Книги,​ на диске вашего​​В этом же окне,​​:​Личная Книга Макросов​ — приятные чувства.​В итоге у вас должно​ версиях Excel это​ именно в модуль​ строки sub и​выберите Файл > Сохранить​

​ укажите папку, в​Если вы постоянно используете​.​​ Если код не​ ​ то интересная штука​ бы прочитать последовательность​​ т.к. это файл​ компьютера. По умолчанию,​ нажав кнопку​​Остановите запись кнопкой​​(ЛКМ)​​Однако, эта статья для​​ получиться нечто подобное:​​ можно сделать через​​ листа.​

Пример макро-функции

​ end sub​ как;​ которой находятся только​ приложение Excel для​В категории​ вас устраивают, закройте​ получается …​ байт необходимо открыть​​ в системной скрытой​​ этот файл хранится​​Параметры (Options)​Остановить запись (Stop Recording)​- это обычный​​ тех, кто уже​​Щелкните правой кнопкой мыши​​ меню​​Вопрос решён. Ещё​

Выбор пользовательской функции в окне Мастера Функций

​Если правильно понял​в поле Тип файла​ те файлы, которые​ работы с одной​настроить ленту​ книгу без сохранения​в открытой книге​ контейнер их содержащий​ папке​

Где хранится Личная Книга Макросов

​ в специальной папке​, можно задать сочетание​на вкладке​ файл Excel в​ «познал мощь» и​

  • ​ по форме и​Сервис — Макрос -​
  • ​ раз благодарю!​ Ваш вопрос​ выберите пункт Шаблон;​
  • ​ можно открыть с​

​ и той же​в списке​ изменений.​ ссылка на ячейку​ (т.е. файл). На​ek09​ автозапуска Excel, которая​ клавиш для быстрого​Разработчик (Developer)​ формате двоичной книги​ начал использовать макросы​ выберите​ Редактор Visual Basic​Dan116​А вообще приложите​в поле Сохранить в​ помощью Excel. Если​ книгой или создаете​Основные вкладки​Откройте вкладку​ в закрытой книге​

  • ​ кластере HDD -​
  • ​: Здравствуйте​
  • ​ называется XLSTART. Так​

​ запуска макроса с​Проверить результат можно, нажав​ (​ (чужие или написанные​View Code​ (Tools — Macro​: Добрый день.​​ файл и Вам​​ укажите папку, в​​ книга с одним​​ новые книги на​​установите флажок​​Разработчик​​ обновляется а макросом​​ это просто последовательность​​как макросом книги​​ что все, что​​ клавиатуры. Будьте внимательны:​​ на кнопку​

Путь к личной книге макросов

​Personal.xlsb​ самостоятельно — не​.В открывшийся модуль формы​ — Visual Basic​Стоит задача, выполнить​​ сделают, потом посмотрите​​ которую нужно сохранить​ и тем же​ основе одного шаблона,​Разработчик​

Файл Личной Книги Макросов в папке XLSTART

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 +​ кнопкой​ при последующих открытиях​smile
​openid.mail.ru/mail/vlad3622340​ сделайте следующее:​
​ и в альтернативной​
​ книга или шаблон​
​Сохранить​

​В левой части​​ в том случае,​Hugo​В идеале нужно​ ПК. И вот​ и регистр.​Разработчик​ Excel. Т.е. когда​ (несколько строк) на​ TimeValue(«00:00:05»), «KillTheForm» End​Visual Basic​

​ макрос не выполнять.​​: Доброго дня всем​чтобы создать шаблон книги​smile
​ папке автозагрузки, будет​ открывались при его​
​.​Проекта VBA​ если Вы ОТКРЫЛИ​

​: Я сам не​​ поработать макросом в​ тут возникает небольшая​Кроме обычных макросов-процедур в​smile
​- в открывшемся​ вы просто запускаете​ языке Visual Basic,​ Sub​на вкладке​
​Как можно реализовать​ обитателям Планеты Excel!​ по умолчанию, введите​ открываться файл из​ запуске.​Чтобы использовать в приведенном​разверните папку​ закрытую книгу и​ проверял — и​ зарытой книге а​

​ сложность, потому что​​ Личной Книге можно​ окне редактора в​ Excel или открываете​ которые заставляют Excel​Откройте модуль​Разработчик (Developer)​
​ наиболее простым способом?​Подскажите пожалуйста, как​ Книга;​smile

​ папки XLSTART.​​Чтобы открывать одну и​ ниже примере, откройте​Проекта VBA​ внесли в неё​
​ в теме не​
​ у меня почему​tongue

​ местоположение этой папки​​ хранить и​

​ левом верхнем углу​​ любой файл с​​ сделать то, что​​ЭтаКнига​и создайте новую​Спасибо!​ запустить код макроса​
​чтобы создать шаблон листа​Чтобы книга не открывалась​ ту же книгу​ новую книгу.​для книги, а​ изменения, после чего​ отписались как решилось…​ то макрос книги​ зависит от версии​пользовательские макро-функции​ на панели​ диска, на самом​ вам нужно: обработать​smile

​в левом верхнем​​ форму, используя команду​Nic70y​ при открытии листа?​ по умолчанию, введите​ автоматически при запуске​ при запуске Excel,​Важно:​ затем дважды щелкните​smile
​ она опять стала​ Так что не​ 1 не работает​ Windows и Office​(UDF = User Defined​

​Project — VBA Project​​ деле открываются два​ данные, сформировать отчет,​ углу (если ее​ меню​
​:​Вставляю это в​ Лист;​ Excel:​ в меню Файл​

​ Код VBA не может​​ модуль​ закрытой​ знаю.​ в закрытой книге​ и может различаться.​ Function)​должен появиться наш​ файла — ваш​smile

excelworld.ru

​ скопипастить много однообразных​

Всякий раз, когда вы запускаете какие-либо программы Microsoft Office, такие как Word, Excel, PowerPoint и т. Д., Вы сначала видите экран-заставку, прежде чем программа действительно запустится. Заставка требуется, чтобы заполнить время между моментом, когда пользователь щелкает значок программы, и до момента полной загрузки программы.

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

офисное слово заставка

Хотя всегда можно использовать переключатели, чтобы отключить отображение заставки, Microsoft теперь добавила возможность отключить его в приложениях Office — Word, Excel, PowerPoint.

В Office 2010 нам нужно было создать специальные ярлыки с помощью этих переключателей или просто ввести их в начале поиска и нажать Enter, чтобы отключить заставки в программах Word, Excel и PowerPoint:

  • winword / q
  • excel / e
  • очки силы

В Office 2019/2016/2013 предлагается настройка. Мы возьмем пример Word, но этот параметр доступен по тому же пути в других приложениях Office.

Отключить заставку в Word

При желании вы можете отключить заставку в Word. Для этого:

  1. Откройте Microsoft Word
  2. Нажмите «Открыть» на пустом документе.
  3. В открывшемся окне щелкните его меню «Файл».
  4. На левой панели выберите «Параметры».
  5. Выбор варианта откроет диалоговое окно.
  6. Когда вы видите диалоговое окно, появляющееся на экране вашего компьютера, снимите флажок с последней опции, которая говорит «Показывать начальный экран при запуске этого приложения» в разделе «Параметры запуска».

Нажмите ОК и перезапустите Word.

Отключить заставку в Word, Excel, PowerPoint

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

Отключить заставку PowerPoint и Excel

Вы увидите возможность отключить заставку в том же месте, в Excel и PowerPoint.

Однако Outlook, OneNote и т. Д. Не предлагают этот параметр.

Обратите внимание, что отключение экрана-заставки никоим образом не ускорит время загрузки приложения, поэтому его удаление, по нашему мнению, вероятно, плохая идея — поскольку вы упустите некоторую отображаемую информацию — в случае сбоя программы Office загрузить. Тем не менее, поскольку некоторым людям не нравится видеть один и тот же экран-заставку каждый раз, и с тех пор Microsoft предоставила пользователям возможность отключить его, мы подумали о том, чтобы поделиться этим советом.

.

Понравилась статья? Поделить с друзьями:
  • Заставка при запуске excel vba
  • Запускающая кнопка в excel
  • Зарубежные мультфильмы word surf
  • Запускать макрос при открытии книги excel
  • Зарплатный табель образец excel