Как удалить userform в vba excel
Перейти к содержимому

Как удалить userform в vba excel

  • автор:

Метод Hide

Заполнитель объекта представляет выражение объекта , которое вычисляет объект в списке «Область применения «. Если объект опущен, предполагается, что объект UserForm с фокусом является объектом .

Замечания

Когда объект скрыт, он удаляется с экрана, и для его свойства Visible устанавливается значение False. Элементы управления скрытого объекта не доступны для пользователя, но они доступны программно для выполняющегося приложения, для других процессов, которые могут взаимодействовать с приложением через Automation и в Windows с событиями элемента управления Timer.

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

Если элемент UserForm не загружен, когда вызывается метод Hide, метод Hide загружает элемент UserForm, но не отображает его.

Пример

В следующем примере предполагается наличие двух элементов UserForm в программе. В событии Инициализация UserForm1 загружается и отображается UserForm2. Когда пользователь щелкает элемент UserForm2, тот скрывается и отображается элемент UserForm1. При щелчке элемент UserForm1 снова отображается UserForm2.

' This is the Initialize event procedure for UserForm1 Private Sub UserForm_Initialize() Load UserForm2 UserForm2.Show End Sub ' This is the Click event of UserForm2 Private Sub UserForm_Click() UserForm2.Hide End Sub ' This is the click event for UserForm1 Private Sub UserForm_Click() UserForm2.Show End Sub 

См. также

Поддержка и обратная связь

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

Окно «Пользовательская форма»

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

Когда вы разрабатываете форму:

  • Каждое окно формы имеет свои кнопки Развернуть, Свернуть и Закрыть.
  • Вы можете просмотреть сетку формы и определить размер линий сетки на вкладке Общие диалогового окна Параметры .
  • Используйте кнопки на панели элементов, чтобы нарисовать элементу управления на форме. Элементы управления можно настроить так, чтобы они соответствовали сетке формы на вкладке Общие диалогового окна Параметры .

Сочетания клавиш

Используйте эти сочетания клавиш в окне UserForm. Чтобы отменить выбор всех элементов управления, щелкните форму. Чтобы выбрать элементы управления в контейнере, сначала отмените выбор контейнера, а затем нажмите клавиши CTRL+CLICK+DRAG вокруг нужных элементов управления.

Сочетание клавиш To
SHIFT+CTRL+ALPHA Выберите свойство в списке Свойстваокно свойств.
АЛЬФА Ввести значение в окне Свойства для выбранного свойства.
F7 Откройте окно Код для выбранного объекта.
DEL или DELETE Удалить выбранные элементы управления без их размещения в буфере обмена.
CTRL+Z Отменить удаление элементов управления.
TAB Выполнить переход вперед по элементам управления в последовательности табуляции.
SHIFT+TAB Выполнить переход назад по элементам управления в последовательности табуляции.
CTRL+ЩЕЛЧОК Добавить или удалить элемент управления из выборки.
ЩЕЛЧОК И ПЕРЕТАСКИВАНИЕ Выбрать несколько элементов управления.
SHIFT+CLICK Выбрать несколько элементов управления.
CTRL+ЩЕЛЧОК+ПЕРЕТАСКИВАНИЕ Добавить или удалить элементы управления из текущей выборки.
F6 Открыть окно Свойства (только во время разработки).
SHIFT+F10 Просмотреть контекстное меню.
CTRL+J Вынести на передний план (влияет на перекрывающиеся элементы управления только во время разработки).
CTRL+K Перенести на задний план (влияет на перекрывающиеся элементы управления только во время разработки).

См. также

  • Объект UserForm
  • Панель инструментов «Пользовательская форма»
  • Элементы окна

Поддержка и обратная связь

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

Обратная связь

Были ли сведения на этой странице полезными?

Как удалить userform в vba excel

Пользователь

Регистрация: 24.01.2009

Сообщений: 66

Как удалить модуль и userform

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

Балуюсь кодами

Участник клуба

Регистрация: 09.01.2009

Сообщений: 1,837

В Project Explorer (это панель слева) на ненужном модуле или форме правой кнопкой. Там в меню будет пункт «Remove …» с именем этого модуля. Потом он предложит тебе сохранить удаляемый модуль в файл, отвечай «нет».

Лучше день потерять — потом за пять минут долететь!©

Как выгрузить из памяти форму после её удаления?

Author24 — интернет-сервис помощи студентам

Здравствуйте!
В моем алгоритме есть функция программного удаления UserForm с определенным именем (UserForm_cab1, UserForm_cab2, UserForm_cab3. ):

Sub Udalenie_cab()
Dim i%
For i = 1 To ThisWorkbook.VBProject.VBComponents.Count
With ThisWorkbook.VBProject.VBComponents
If .Item(i).Name Like «UserForm_cab*» Then
.Remove .Item(i)
End If
End With
Next i
End Sub

После выполнения этой функции, спустя некоторое количество условий и действий, может понадобиться вновь программно создать UserForm-ы с такими же именами UserForm_cab1, UserForm_cab2, и т.д.

Так вот, при удалении, юзерформы удаляются из проекта (в дереве слева в окне Basic они пропадают). Но при повторном создании программа ругается «Path/File access error» и выделяет строчку в модуле создания форм (см. рис).

Если же после этого руками удалить юзерформу и попробовать снова — то же самое. Но вот если удалить и сохранить после этого — всё работает нормально.

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

Подскажите, кто знает, как можно выгрузить форму из этого трэя после удаления?

Полный код создания формы:

Sub Formirovanie_cab()
Dim UserForm_cab As Object
‘.
Dim i, n
Dim Line As Integer
Dim Combo As String
Dim Text As String
Dim a2%, b2%, c2%, d2%, e2%, f2%, sum%
‘.
sum = a2 + b2 + c2 + d2 + e2 + f2
For i = 1 To sum
Set UserForm_cab = ThisWorkbook.VBProject.VBComponents.Add(3) ‘ Добавляется UserForm
With UserForm_cab ‘ Задаются свойства формы
.Properties(«Caption») = «Точный расчет»
.Properties(«Name») = «UserForm_cab» & i
.Properties(«Width») = 746.25
.Properties(«Height») = 813.75
End With
‘————————————————————————————————————————————————
‘СОЗДАНИЕ ЭЛЕМЕНТОВ УПРАВЛЕНИЯ
‘————————————————————————————————————————————————
‘I. Label
‘————————————————————————————————————————————————
Set Label1 = UserForm_cab.Designer.Controls.Add(«forms.Label.1») ‘ Добавляется Надпись 1
With Label1 ‘ Задаются свойства Надписи 1
.Caption = «Шкаф » & i
.Height = 18
.Left = 30
.Top = 18
.Width = 102
.Font = «Calibri»
.FontSize = 14
.FontBold = True
End With

‘————————————————————————————————————————————————
‘V. CommandButton
‘————————————————————————————————————————————————
Set NewButton1 = UserForm_cab.Designer.Controls.Add(«forms.CommandButton.1») ‘ Добавляется Кнопка 1
With NewButton1 ‘ Задаются свойства Кнопки 1
.Caption = «Далее»
.Height = 30
.Left = 630
.Top = 755.95
.Width = 84
.Font = «Calibri»
.FontSize = 12
End With
Set NewButton2 = UserForm_cab.Designer.Controls.Add(«forms.CommandButton.1») ‘ Добавляется Кнопка 2
With NewButton2 ‘ Задаются свойства Кнопки 2
.Caption = «Назад»
.Height = 30
.Left = 534
.Top = 755.95
.Width = 84
.Font = «Calibri»
.FontSize = 12
.Visible = False
End With
Next i
Module3.Spisok_1
Module4.Spisok_2
Module5.Spisok_3
Module6.Spisok_4
Module7.Spisok_5
Module8.Spisok_6
Module9.Spisok_7
Module10.Spisok_8
Module11.Spisok_9
Module12.Spisok_10
Module13.Spisok_11
Module14.Spisok_12
Module15.Spisok_13
Module16.Spisok_14
Module17.Spisok_15
Module18.Spisok_16
Module19.Spisok_17
Module20.Spisok_18
Module21.Spisok_19
Module22.Spisok_20
Module23.Spisok_21
Module24.Spisok_22
Module25.Spisok_23
End Sub

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

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