如果编写以下代码
,那会是错误的吗?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
答案 0 :(得分:13)
如果未启用Option Explicit,可以以这种方式执行,但我不推荐它,因为那时你依靠框架来猜测变量的类型处理,可能会导致意想不到的结果。
答案 1 :(得分:5)
一切正常,直到没有。
您的示例非常简单,但完全有可能提出导致问题的情况。
最好声明所有内容,以免在运行时遇到歧义。
我也不喜欢MikeD关于自动填充的评论。