Excel 2013 我读过几个问题,提出了同样的问题,但这些答案似乎都不适合我。
我有一个用户窗体,其中使用组合框来选择稍后在模块中使用的变量数(1、2或3)。然后单击确定按钮。
我尝试声明一个全局变量并将其在模块的第一行中公开,当手动单击宏时,它似乎起作用,但是当我尝试以用户身份使用它时,它将为出于什么原因?
Module1
Public variable As Integer
Private Sub Button1_Click()
UserForm1.Show
End Sub
我认为Button1_Click()与任何事物都没有关系,但是想要显示它并确认它不是问题的一部分
Userform1
Private Sub UserForm_Activate()
ComboBox1.AddItem 1
ComboBox1.AddItem 2
ComboBox1.AddItem 3
End Sub
用户选择1 2或3
Userform1仍然
Private Sub OK_Click()
If ComboBox1.ListIndex = -1 Then
MsgBox "Select a number"
Else
variable = Me.ComboBox1.Value
Range("D1").Value = variable'testing
Unload Me
End If
Range("D2").Value = variable 'testing after "Unload Me"???
End Sub
'再次使用Module1
Sub Macro2()
Range("D3").Select
ActiveCell.FormulaR1C1 = variable
End Sub
当我通过UserForm_Activate()-> OK_Click()-> Macro2()F8时,它会记住我的变量并将其放在单元格D3中。
如果我只是按用户的方式单击按钮,然后手动启动Macro2(),它将认为我的变量为0(不是选项),并且在单元格D3中得到0,而不是用户选择的变量
感谢您的帮助!