我确信这很简单,但我不能让它发挥作用。我有一个包含三个子表单的表单。主窗体加载并找到所请求的记录正常,如果我从主窗体上的按钮运行下面它工作正常。我想要做的是让它在表单加载请求记录之后运行并且没有用户交互。我已尝试加载和当前,但由于窗体尚未在屏幕上,没有值填充变量,msgboxes为空。但就像我说从主按钮上发射它可以正常工作。
任何帮助将不胜感激。
actCount = [ActMovDelete].Form![Text93].Value
PlaCount = [PalnMovDelete].Form![Text91].Value
noCount = [NotesDelete].Form![Text50].Value
MsgBox actCount
MsgBox PlaCount
MsgBox noCount
答案 0 :(得分:0)
我不确定我是否理解您的问题,但如果您是在尝试初始化时激活代码,那么只需
Private Sub UserForm_Initialize()
[your code here...]
End Sub
但是,如果您正在尝试填充未加载的表单的变量,那么更好的方法可能是将变量存储为表单中的公共变量。即使没有加载变量,这也可以让您访问变量。正如这可能有用的一个例子:
在您想要获取变量的表单中(名为UserForm1):
Public strFromTheForm As String
Private Sub UserForm_Activate()
TextBox1.Value = strFromTheForm
End Sub
从其他表单或模块中,您可以包含代码:
Public Sub Test2()
Dim strTest As String
strTest = UserForm1.strFromTheForm
If strTest = "" Then
UserForm1.strFromTheForm = "Test"
End If
UserForm1.Show
End Sub