Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Передача данных между формами VBA (Excel)

15K
28 февраля 2006 года
lisus
4 / / 28.02.2006
Подскажите, плиз, как передать значение переменной из одной формы в другую.
Ситуация примерно такая:

UserForm1 code
Код:
Private Sub UserForm_1Initialize()
my_var=""
End Sub
Private Sub ok_button_Click()
if (...) then
my_var="A"
else
my_var="B"
me.hide
UserForm2.show
End Sub

UserForm1 code
 
Код:
Private Sub UserForm2_Initialize()
msgbox(my_var)
End Sub

В данном случае переменная оказывается пустой (не инициализирована)
263
28 февраля 2006 года
koltaviy
816 / / 16.12.2004
Понятно, что переменная оказывается "пустой (неинициализирована)"..
Переменная в модуле формы 1 и переменная в модуле формы 2 - это две разные переменные, т.к. находятся они в разных модулях - область видимости этих переменных - один модуль, в данном случае - модуль формы..
Самый легкий способ передать переменную другой форме:
1. Создать во второй форме, допустим, TextBox1
2. Его свойству Visible дать значение False
3. По клику на кнопке вычислять значение переменной
4. Потом делать так:
 
Код:
Load frmUser2
frmUser2.TextBox1.Value = imya_peremennoy
frmUser2.Show

5. А уже в процедуре инициализации формы 2:
 
Код:
imya_peremennoy = frmUser2.TextBox1.Value

После этого все будет работать!;)
405
28 февраля 2006 года
Dmitrii
554 / / 16.12.2004
Цитата:
Originally posted by lisus
Подскажите, плиз, как передать значение переменной из одной формы в другую.


Один из вариантов заключается в том, чтобы объявить переменную my_var как глобальную:
[COLOR=blue]Public my_var[/COLOR]
Сделать это надо в каком-либо стандартном модуле кода (то есть в том, который создаётся с помощью команды Module из меню Insert).

15K
28 февраля 2006 года
lisus
4 / / 28.02.2006
Понял Вас. Т.е. переменная заданная глобально в любом из модулей (Insert-->Module) являетя глобальной для всего проекта.
Спасибо.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог