Excel 如何为所有工作簿公开变量
我将此代码放入模块页面Excel 如何为所有工作簿公开变量,excel,vba,Excel,Vba,我将此代码放入模块页面 Option Explicit Dim correct As Boolean Sub setCorrect() correct = True End Sub Sub checkCorrectTrue() If correct Then MsgBox "OK" Else MsgBox "NO" End If End Sub 然后,当我从一个工作表中调用这两个sub时,我的变量cor
Option Explicit
Dim correct As Boolean
Sub setCorrect()
correct = True
End Sub
Sub checkCorrectTrue()
If correct Then
MsgBox "OK"
Else
MsgBox "NO"
End If
End Sub
然后,当我从一个工作表中调用这两个sub时,我的变量correct永远不会切换为True
Private Sub CommandButton4_Click()
Call setCorrect
Call checkCorrectTrue
End Sub
因为您使用的是
Dim correct As Boolean
,所以它仅在该模块中可用。为了能够跨模块使用变量,您需要使用Public
试用
Option Explicit
Public correct As Boolean
Sub setCorrect()
correct = True
End Sub
Sub checkCorrectTrue()
If correct Then
MsgBox "OK"
Else
MsgBox "NO"
End If
End Sub
因为您使用的是
Dim correct As Boolean
,所以它仅在该模块中可用。为了能够跨模块使用变量,您需要使用Public
试用
Option Explicit
Public correct As Boolean
Sub setCorrect()
correct = True
End Sub
Sub checkCorrectTrue()
If correct Then
MsgBox "OK"
Else
MsgBox "NO"
End If
End Sub
单步执行时它有什么值?单步执行
CommandButton4\u Click()
并查看是否正确调用了SetCorrect
。这在我的机器上运行得很好-你把CommandButton4\u Click()
存储在哪里?@Tom你不就是讨厌它吗。@DarrenBartrup尝试帮助别人的乐趣当你一步一步的时候它有什么价值?一步一步的浏览你的CommandButton4\u Click()
,看看SetCorrect
是否被正确调用。这在我的机器上运行得很好-你在哪里存储命令按钮4\u Click()
?@Tom你不就是讨厌它吗?DarrenBartrup Cook尝试帮助的乐趣