根据工作表的大小更改variables的声明方式?

我有一个非常漫长而笨重的代码,但是经常崩溃,并且没有回应消息。 我发现,解决这个问题的一种方法是将variables声明为整数,而不是长整数,如果我知道它们不会超过32,767。

为了确保我以后不会遇到问题,我想插入一行代码到脚本的开始,这将根据工作表的大小将variables变暗为整型或长整型。 我到目前为止是:

If Library.Range("A1").SpecialCells(xlCellTypeLastCell).row > 30000 Then Dim i As Long Dim LastRow As Long ElseIf Library.Range("A1").SpecialCells(xlCellTypeLastCell).row <= 30000 Then Dim i As Integer Dim LastRow As Integer 

但是这给了我一个重复声明语句的错误。 还有其他的方法吗? 还是我做错了什么?

为什么不使用一个变体,

这将certificate

 Dim a As Variant a = 100 Debug.Print TypeName(a) a = 10000000 Debug.Print TypeName(a)