VBAで変数を作成するときに制約を入れる方法はありますか?変数に数値制約を設定する
例:整数として 薄暗いアルファ
今私は、0から99までの値のみを受け入れるようにExcelをたいと思い、私はそれをどのように行うことができますか?
多くのおかげ
VBAで変数を作成するときに制約を入れる方法はありますか?変数に数値制約を設定する
例:整数として 薄暗いアルファ
今私は、0から99までの値のみを受け入れるようにExcelをたいと思い、私はそれをどのように行うことができますか?
多くのおかげ
あなたはこのようにそれを検証することができます:
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
ます。また、特定の値のみを受け入れる新しいクラスを、作成することができます。ほとんどの場合、これはやり過ぎだろうが、ここでは、次のとおりです。標準モジュール
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でデータ検証を使用するとよいでしょう。
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の間の数値になります。
割り当て時の値を検証します。 – Rory
でも、どうですか? dim alfaは整数として? –
変数の値の取得方法についての情報はありませんでした。 – Rory