如何在VBA for Excel中将任何Cell转换为整数?

Lip*_*pis 3 excel vba type-conversion excel-vba

我想创建一个函数,它将作为参数a Cell并返回一个Integer.如果转换不成功,它应该只返回0,而不向用户抛出错误消息.

我不关心包含浮点值的单元格,它们也可以返回0,因为它看起来不像整数.但是文本值00001234应该返回1234并且12 34应该返回0.

One*_*ide 9

这个怎么样:

Option Explicit

Public Function ConvertToInteger(Cell As Range) As Integer
   On Error GoTo NOT_AN_INTEGER
   ConvertToInteger = CInt(Cell.Value)
   Exit Function
NOT_AN_INTEGER:
   ConvertToInteger = 0
End Function
Run Code Online (Sandbox Code Playgroud)

但请注意,例如,值5.6将返回6.如果您希望它为0,则必须检查它并做相应的操作.