最佳实践 – Excel VBA中的variables

我已经开始在一家新公司工作,在我以前的工作中,我写了很多Excel VBA代码。 在我以前的工作中,我几乎从不在赋值之前声明variables。 例外情况是,当我通过一个数组循环使用每个我通常声明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 

但是,我的新公司宣布所有的变数提前(甚至variables我在一个循环)。 有什么好处提前宣布? 我错过了什么吗? 似乎创造更多的错误比它的价值。

提前声明variables:

  1. 允许您指定types
  2. 防止由于随后拼写错误而导致的错误

第二点是最重要的几个数量级。 请注意,可以声明所有variables都需要通过在模块的顶部写入Option Explicit来声明。