как выразить выражение, если x является целым числом в языке VBA? Я хочу написать код, который что-то делает, если x целое и делает что-то еще, если его не с vba excel.
Sub dim()
Dim x is Variant
'if x is integer Then
'Else:
End Sub
как выразить выражение, если x является целым числом в языке VBA? Я хочу написать код, который что-то делает, если x целое и делает что-то еще, если его не с vba excel.
Sub dim()
Dim x is Variant
'if x is integer Then
'Else:
End Sub
If IsNumeric(x) Then 'it will check if x is a number
Если вы хотите проверить тип, вы можете использовать
If TypeName(x) = "Integer" Then
Это зависит от того, если вы имеете в виду тип данных "Целое число" или Целое число в смысле: "Число без десятичной дроби". Если вы имели в виду последний, то достаточно быстрого ручного теста (см. Первый пример); если вы имели в виду первое, то есть три способа взглянуть на типы данных с различными плюсами и минусами:
Public Sub ExampleManual()
Dim d As Double
d = 1
If Fix(d) = d Then
MsgBox "Integer"
End If
End Sub
Public Sub ExampleTypeName()
Dim x As Integer
MsgBox TypeName(x)
End Sub
Public Sub ExampleTypeOf()
Dim x As Excel.Range
Set x = Selection
''//Using TypeOf on Objects set to Nothing will throw an error.
If Not x Is Nothing Then
If TypeOf x Is Excel.Range Then
MsgBox "Range"
End If
End If
End Sub
Public Sub ExampleVarType()
Dim x As Variant
''//These are all different types:
x = "1"
x = 1
x = 1&
x = 1#
Select Case VarType(x)
Case vbEmpty
Case vbNull
Case vbInteger
Case vbLong
Case vbSingle
Case vbDouble
Case vbCurrency
Case vbDate
Case vbString
Case vbObject
Case vbError
Case vbBoolean
Case vbVariant
Case vbDataObject
Case vbDecimal
Case vbByte
Case vbUserDefinedType
Case vbArray
Case Else
End Select
End Sub
Это может подойти:
If x = Int(x) Then