我在一家新公司找到了一份工作,在我以前的工作中,我写了很多 Excel VBA代码。在我之前的工作中,我几乎从未在分配变量之前声明变量。例外情况是当我循环使用数组时,我通常将x声明为变体,如下所示:
Sub sample()
Dim x As Variant
Dim myArray(1 To 100) As Variant
Range("A1").Select
For Each x In myArray
ActiveCell.Value = x
ActiveCell.Offset(1, 0).Select
Next x
End Sub
我能想到的另一个例外是循环工作表并将ws声明为工作表,如下所示:
Sub sample2()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
If ws.Tab.Color = 255 Then
ws.Delete
End If
Next ws
End Sub
但是我的新公司提前声明了他们所有的变量(即使是i循环中的变量i)。提前宣布有什么好处?我错过了什么吗?它似乎造成了更多的错误,而不是它的价值。
答案 0 :(得分:2)
提前声明变量:
第二点是最重要的数量级。请注意,您可以通过在模块顶部写Option Explicit
来声明所有变量都需要声明。