最佳实践 - Excel VBA中的变量

时间:2016-04-29 15:15:47

标签: excel excel-vba vba

我在一家新公司找到了一份工作,在我以前的工作中,我写了很多 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)。提前宣布有什么好处?我错过了什么吗?它似乎造成了更多的错误,而不是它的价值。

1 个答案:

答案 0 :(得分:2)

提前声明变量:

  1. 允许您指定类型
  2. 可防止由于您随后拼错变量而导致的错误
  3. 第二点是最重要的数量级。请注意,您可以通过在模块顶部写Option Explicit来声明所有变量都需要声明。