在variables上设置数字约束

在VBA中创buildvariables时是否有办法限制?

例如: 暗淡的阿尔法作为整数

现在我想让Excel 接受从0到99的值 ,我该怎么做?

非常感谢

你可以像这样validation它:

Sub Test() Dim i As Integer i = 100 If Not (i >= 0 And i <= 99) Then Err.Raise Number:=6, Description:="Number not valid" 'continue to use i End Sub 

你也可以创build一个新的类,它只接受某些值。 在大多数情况下,这将是矫枉过正,但这里是:

把它放到一个标准模块中

 Sub Test() Dim specialNumber As SNumber Set specialNumber = New SNumber specialNumber.Value = 1 specialNumber.Value = 100 'this line will throw an error End Sub 

然后把它放到一个类模块中,并命名模块SNumber

 Private specialNumber As Integer Public Property Get Value() As Integer Value = specialNumber End Property Public Property Let Value(v As Integer) If Not (v >= 0 And v <= 99) Then Err.Raise Number:=6, Description:="Number not valid" Else specialNumber = v End If End Property 

一个好办法是在Excel中使用数据validation。

 Sub TestMe() With Selection.Validation .Delete .Add Type:=xlValidateCustom, AlertStyle:=xlValidAlertStop, _ Operator:=xlBetween, Formula1:="=AND(A1>=0, A1<=100, ISNUMBER(A1))" .IgnoreBlank = True .InCellDropdown = True .InputTitle = "" .ErrorTitle = "" .InputMessage = "" .ErrorMessage = "" .ShowInput = True .ShowError = True End With End Sub 

现在A1只会在1到100之间,它会是一个数字。