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

时间:2016-05-13 09:36:39

标签: excel vba

我有一个非常长而且笨重的代码可以工作,但经常崩溃并给出无响应消息。我发现,解决这个问题的一种方法是将变量声明为整数,而不是长整数,如果我知道它们不会超过32,767。

为了确保以后不会遇到问题,我想在脚本的开头插入一行代码,将变量调整为整数或长整数,具体取决于工作表的大小。到目前为止我所拥有的是:

 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

但是这给了我一个错误,因为它有重复的声明语句。还有另一种方法吗?或者我做错了什么?

1 个答案:

答案 0 :(得分:0)

为什么不使用变体,

这将证明

Dim a As Variant

a = 100
Debug.Print TypeName(a)

a = 10000000
Debug.Print TypeName(a)