【发布时间】:2016-10-06 14:01:27
【问题描述】:
我的障碍是试图让多个潜艇识别类变量。当我尝试全局声明它们时,出现编译错误:“无效的外部过程”。然后,当我运行一个公共函数或子程序来声明变量时,它们在其他子程序中保持未定义。我希望多个 sub 能够识别变量,因为它们的值应该通过 UserForm 更改,然后在不同的 sub 中使用。
如果它能够以这种方式工作,那就太好了,但我知道我的设计可能存在根本缺陷。请指教!
这是我的类定义,作为名为“cRSM”的类模块插入:
Option Explicit
Private pName As String
Private pDesiredGrowth As Double
'Name of RSM
Public Property Get Name() As String
Name = pName
End Property
Public Property Let Name(Value As String)
pName = Value
End Property
'Growth property
Public Property Get DesiredGrowth() As Double
DesiredGrowth = pDesiredGrowth
End Property
Public Property Let DesiredGrowth(Value As Double)
If Value > 0 And Value < 1 Then
pDesiredGrowth = Value
End If
End Property
这是无效的程序错误(我把它放在全局声明部分):
'Bedoya
Dim Bedoya As cRSM
Set Bedoya = New cRSM
Bedoya.Name = "Bedoya"
这是“变量未定义错误”(在私有子中):
Private Sub Add_Click()
**Bedoya.DesiredGrowth** = Txt2.Value
感谢您的宝贵时间
【问题讨论】:
-
Set Bedoya = New cRSM: Bedoya.Name = "Bedoya"在类初始化方法中执行此操作 - 您不能在方法之外使用此代码。 -
@Tim Williams,你叫什么“方法”?小代码示例请,我在这里迷路了
-
方法是子或函数