VBA整数溢出70,000

我有一个包含70,000行数据的工作表和一个简单的macros来计算总行数:

Dim LastRow as Integer LastRow = SourceSheet.Cells.Find(what:="*", searchdirection:=xlPrevious, searchorder:=xlByRows).Row MsgBox (LastRow) 

这将返回一个溢出错误。 将LastRow更改为Long将返回70,000的正确值。

根据微软的网站 ,一个VBA整数应该能够保持在-2,147,483,648和2,147,483,647之间的值。 我的输出是在这个范围内,那为什么会失败呢?

谢谢!

这是Visual Studio(.NET)。 VBA整数是32,768。 用久了。

一个VBA Longvariables保存从-2,147,483,648到2,147,483,647的整数,并使用4个字节(32位)的内存。

 Dim LastRow as Long