比较字符串数组 VBA



我有一个二维字符串数组。字符串数组中有一些字符串和一些整数。我想将数组的两个位置比较在一起。

例:

If StringArray(1, 5) > StringArray(1, 6) Then
    MsgBox "Is first number is bigger"   
End if

我的调试器 说:

StringArray(1,5) = 150
StringArray(1,6) = 3 
StringArray(1, 5) > StringArray(1, 6) = False

有人有想法吗,为什么结果是假的? StringArray(1, 5(肯定更大。可能是什么问题?它是否与数组类型有关,如何在不仅为 2 个值创建新的整数数组的情况下更改它?

正如您所说,您的数组类型是 String .
当您将StringArray(1,5)StringArray(1,6)进行比较时,您实际上是在比较字符串。

在您的情况下,您正在将150与字符串3进行比较。因此结果是错误的,因为"3"是>"1"而不是副verca。

为了将它们作为整数进行比较,您需要在之前将它们转换为整数。喜欢这个:

If Val(StringArray(1, 5)) > Val(StringArray(1, 6))

还有其他方法,例如:CInt。

最新更新