Excel-VBA:必要的变量声明?

时间:2010-11-17 14:48:48

标签: vba excel-vba variable-declaration excel

如果编写以下代码

,那会是错误的吗?
Sub Something()
 Dim i As integer
 Dim xRange As Range
 Dim yRange As Range

 Set xRange= Range("x_table")
 Set yRange= Range("y_table")

 For i = 1 To xRange.Columns.Count
    xRange.Columns(i) = Application.Sum(y_table.Columns(i))
 Next i
End Sub

没有具体声明每个变量?像吼叫一样;

Sub Something()
 Set xRange= Range("x_table")
 Set yRange= Range("y_table")

 For i = 1 To xRange.Columns.Count
    xRange.Columns(i) = Application.Sum(y_table.Columns(i))
 Next i
End Sub

2 个答案:

答案 0 :(得分:13)

如果未启用Option Explicit,可以以这种方式执行,但我不推荐它,因为那时你依靠框架来猜测变量的类型处理,可能会导致意想不到的结果。

答案 1 :(得分:5)

一切正常,直到没有。

您的示例非常简单,但完全有可能提出导致问题的情况。

最好声明所有内容,以免在运行时遇到歧义。

我也不喜欢MikeD关于自动填充的评论。