powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Зукрытие\выгрузка формы
7 сообщений из 7, страница 1 из 1
Зукрытие\выгрузка формы
    #35770456
Kirillka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Private Sub UserForm_Initialize()
Dim v As Variant
v = Array("имя", "имя 1", "имя 2", "")
ListBox1.List = v
End Sub

Private Sub ListBox1_Click()
Dim KTO As String
KTO = ListBox1.Text
Range("A8").Value = KTO
End Sub

Как закрыть форму после того как она отработала?
Форма должна исчезнуть а данные в переменной КТО остаться.
Спасибо.
...
Рейтинг: 0 / 0
Зукрытие\выгрузка формы
    #35770523
Шыфл
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kirillka,

У тебя KTO - локальная переменная, она исчезнет как только закончится Private Sub ListBox1_Click(). Если хочешь сохранять данные на уровне формы, объяви переменную не уровне формы. А в тексте программы обращайся к ней. Ну а чтобы она не обнулилась, не выгружай форму, а скрывай.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
dim KTO as string

Private Sub UserForm_Initialize()
Dim v As Variant
v = Array("имя", "имя 1", "имя 2", "")
ListBox1.List = v
End Sub

Private Sub ListBox1_Click()
me.KTO = ListBox1.Text
Range("A8").Value = me.KTO
me.hide
End Sub

...
Рейтинг: 0 / 0
Зукрытие\выгрузка формы
    #35770684
Kirillka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста
Как из модуля вызвать эту форму?
Спасибо.
...
Рейтинг: 0 / 0
Зукрытие\выгрузка формы
    #35770776
Kirillka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
KirillkaПодскажите пожалуйста
Как из модуля вызвать эту форму?
Спасибо.
С этим разобрался (UserForm1.Show), теперь другая задача.

Код: plaintext
1.
2.
3.
4.
5.
Sub ListBox1_Click()
Dim ZUO As String
ZUO = ListBox1.Text
Me.Hide

End Sub

Как мне из этого суба получить данные переменной ЗУО в другом субе?
Спасибо.
...
Рейтинг: 0 / 0
Зукрытие\выгрузка формы
    #35770814
Шыфл
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kirillka,
Смотря в каком субе тебе эти данные нужны, смотря как ты эту форму вызываешь и т.д. Ну очень неконкретно поставлен вопрос.
Этот "другой" суб на той же форме? Тогда объяви глобальную переменную.
Или сохрани данные в ячейку на листе (как ты и делал). Или обьяви вообще глобальную переменную модуля и работай с ней.
Если верху модуля Module1 написать
Код: plaintext
1.
public s as string
То потом можно к ней обращаться как Module1.s

А вообще-то надо что-нить почитать, а не тыкаццо... :)
...
Рейтинг: 0 / 0
Зукрытие\выгрузка формы
    #35781420
Kirillka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Isak,

я почитал но не нашол ответа на свой вопрос, поэтому и обратился в форум

я пишу макрос, который в начале собирает данные от пользователя (InputBox) потом вызывается форма с предложением выбрать определенный вариант, который мне и нужно будет передать обратно в модуль для дальнейших операций.
форму вызываю так
Код: plaintext
UserForm1.Show
...
Рейтинг: 0 / 0
Зукрытие\выгрузка формы
    #35781445
Шыфл
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лшкшдлф,

А ты её по другому вызывай :)
Я тоже достаточно долго не мог понять, что можно создавать отдельные инстанции формы.

Потом, после закрытия в форме (me.hide) у тебя останутся все глобальные переменные формы, включая контролы :)

Что-то типа
Код: plaintext
1.
2.
3.
4.
dim KTO
dim f as new Userform1
f.show
KTO = f.ListBox1.Text

А InputBox лучше не используй. Лучше текстбокс на форму повесить...


Я раньше http://firststeps.ru/ VBA читал. Счас уже перерос. :)
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Зукрытие\выгрузка формы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]