在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之间,它会是一个数字。