Чтобы передать переменные в пользовательскую форму в VBA (Visual Basic для приложений), можно использовать несколько методов. Вот несколько примеров:
-
Использование общедоступных переменных.
Вы можете объявлять общедоступные переменные в стандартном модуле, а затем получать доступ и изменять их значения как из пользовательской формы, так и из вызывающего кода. Вот пример:В стандартном модуле:
Public MyVariable As String
В вызывающем коде:
Sub OpenUserForm() MyVariable = "Hello" UserForm1.Show End Sub
В пользовательской форме:
Private Sub UserForm_Activate() TextBox1.Text = MyVariable End Sub
-
Использование свойств.
Вы можете определить свойства в пользовательской форме для передачи значений между вызывающим кодом и пользовательской формой. Вот пример:В пользовательской форме:
Private myVariable As String Public Property Let Variable(value As String) myVariable = value End Property Private Sub UserForm_Activate() TextBox1.Text = myVariable End Sub
В вызывающем коде:
Sub OpenUserForm() Dim frm As UserForm1 Set frm = New UserForm1 frm.Variable = "Hello" frm.Show End Sub
-
Использование аргументов.
Вы можете передавать аргументы в событие Initialize пользовательской формы и сохранять их в локальных переменных внутри пользовательской формы. Вот пример:В пользовательской форме:
Private myVariable As String Private Sub UserForm_Initialize() TextBox1.Text = myVariable End Sub
В вызывающем коде:
Sub OpenUserForm() Dim frm As UserForm1 Set frm = New UserForm1 frm.myVariable = "Hello" frm.Show End Sub
Это всего лишь несколько методов передачи переменных в пользовательскую форму в VBA. Каждый метод имеет свои преимущества и может оказаться более подходящим в зависимости от ваших конкретных требований.