Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Microsoft Office и VBA > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 27.02.2020, 10:26   #1
marat55555
Новичок
Джуниор
 
Регистрация: 26.02.2020
Сообщений: 1
По умолчанию Передача переменной через форму

Комрады, прошу совета! В VBA новичок, не могу разобраться с передачей переменной через элемент формы TextBox.

Код упростил. Создаю встроенными элементами VBA форму. В ней 2 элемента: кнопка Button и клавиша обработки Command Button. Задача: при запуске макроса появляется форма, при нажатии элемента Button динамически появляется поле формы TextBox, в которое необходимо внести текст.После нажатия кнопки ЖМИ (Command Button) скрипт должен вывести в диалоговое окно введенную строку. Не могу разобраться, почему не передается значение. Подскажите с правильным кодом.

Создаю форму
Код:
Private Sub CommandButton1_Click()

  sItem = oTextBox


Call ЭтаКнига.TEMP(oTextBox)

End Sub

Private Sub optButton_Click()



 
If optButton.Value = True Then
        
        

 
 
        Dim oTextBox As Control
        
        Set oTextBox = UserForm1.Controls.Add("Forms.TextBox.1")
        
        
        With oTextBox
            .Name = optItem

            
       End With
       
       
       
MsgBox TypeName(oTextBox)
MsgBox (oTextBox)

        
    End If
    
End Sub


Private Sub UserForm_Click()

End Sub
Затем в разделе ЭтаКнига объявлю процедуру
Код:
Sub TEMP_Open()

    UserForm1.Show
   
    
End Sub

Sub TEMP(oTextBox)

Dim sItem As String
'sItem = optItem
' MsgBox TypeName(oTextBox)

 MsgBox oTextBox
 
End Sub
Как правильно вывести содержимое Textbox'a?
marat55555 вне форума Ответить с цитированием
Старый 27.02.2020, 22:25   #2
IgorGO
МегаМодератор
СуперМодератор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,302
По умолчанию

не возможно из букв "П", "О", "Ж" и "А"
написать слово ВЕЧНОСТЬ
41001804815208 - Яндекс-деньги благодарности за удачные советы и решения можно отправлять прямо сюда)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 28.02.2020, 05:42   #3
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,165
По умолчанию

Как вариант, создайте глобальную строковую переменную и сохраняйте в ней все, что угодно на любом этапе выполнения любой процедуры.
Такая переменная будет доступна при обращении к ней из любого модуля.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
передача значения переменной одной формы в описание переменной другой diekster Общие вопросы Delphi 14 18.05.2014 02:42
Передача данных в ячейки Excel через форму SashaS Microsoft Office Excel 11 11.03.2012 16:43
Передача переменной через сокет Yura_S Общие вопросы Delphi 3 25.03.2010 10:53
Ввод переменной в форму Исраил JavaScript, Ajax 2 21.09.2009 01:02
Передача переменной из формы в форму k1r1ch Общие вопросы Delphi 2 25.06.2009 15:50


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS