我已经阅读并应用了在类似主题上找到的解决方案,但在我的情况下似乎没有任何作用。
因此,我想从Module1的一个子过程中传递一个变量到用户窗体。它是一个名为“provinceSugg”的字符串。
这是我代码的相关部分:
Public provinceSugg As String
Sub probaCity()
[...]
If province = "" And city <> "" Then
provinceSugg = sCurrent.Cells(p, db_column).Offset(0, 1).Value
UserForm2.Label1 = "Do you mean " & city & " in " & provinceSugg & " ?"
UserForm2.Label1.TextAlign = fmTextAlignCenter
UserForm2.Show
Else
End If
End Sub
接着,在我的用户窗体代码中:
Private Sub userformBtn1_Click()
MsgBox provinceSugg
sMain.Range("J6").Value = provinceSugg
End Sub
当我运行我的程序时:
1/ 我在从我的子程序调用的MsgBox中看到了provinceSugg的内容(因此有provinceSugg,它不是一个空变量)。
2/ 从用户窗体调用的MsgBox为空(因此传递值失败),当运行“ sMain.Range(“ J6”).Value = provinceSugg”时,我的程序崩溃,出现类似“错误424 对象所需”的错误(因此变量未能传递到用户窗体)。
我尝试了论坛和这里找到的所有方法(不同的方法来指示provinceSugg是公共变量,但仍然崩溃...)。
非常感谢您的帮助!