我是VBA的新手,我不知道如何在subs之间使用变量。该代码应该是自我解释:VBA如何在subs之间使用变量?
Public Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim strWeapon As String
If Target.Address = "$I$8" Then
MsgBox "You pick up a sword"
strWeapon = "Sword"
ElseIf Target.Address = "$I$9" Then
MsgBox "You pick up a magic staff"
strWeapon = "Magic"
ElseIf Target.Address = "$I$10" Then
MsgBox "You pick up a bow and arrows"
strWeapon = "Bow"
End If
End Sub
Public Sub CommandButton1_Click()
If strWeapon = "Magic" Then
UserForm1.Show
ElseIf strWeapon = "Sword" Then
UserForm2.Show
ElseIf strWeapon = "Bow" Then
UseForm2.Show
End If
End Sub
有没有一种方法,我可以在这两种潜艇使用strWeapon?我在第二个子文件中未定义变量strWeapon时出现错误。 谢谢!
你的意思是作为一个String变量被更新并且可以在两个Sub中显示吗?你可以使用'公共strWeapon作为字符串',把这个代码行(对于convinance)高于'Subs',在'Option Explicit'下面 –
在全局子Worksheet_SelectionChange之外声明strWeapon –
我像你们说的那样添加它,删除昏暗的strweapon作为字符串在顶部,现在没有任何反应,当我点击commandButton – Ricky