3

次のコードを書くと間違っているでしょうか

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
4

2 に答える 2

14

Option Explicitがオンになっていない場合は、そのようにすることができますが、フレームワークに依存して処理している変数のタイプを推測しているため、予期しない結果が生じる可能性があるため、お勧めしません。

于 2010-11-17T14:52:59.623 に答える
7

動作しないまでは正常に動作します。

あなたの例は非常に単純ですが、問題を引き起こす状況を思い付くのは完全に可能です。

実行時にあいまいさに遭遇するリスクを回避するために、すべてを宣言することをお勧めします。

オートコンプリートに関するMikeDのコメントにも部分的です。

于 2010-11-17T15:33:25.027 に答える