0

したがって、メソッド全体でコピー/貼り付けする必要がないように、セル範囲への「より良い」参照を作成したかったのですが、次のコードは機能しません。

Dim cellRange As Range
' fieldIndex = 1, startRow = 10, lastRow = 20
cellRange = s.Range(Cells(startRow, fieldIndex), Cells(lastRow, fieldIndex))

私は何が欠けていますか?他の方法でも問題なく使用できます。

s.Range(Cells(startRow, fieldIndex), Cells(lastRow, fieldIndex)).Value = "bob"
4

2 に答える 2

3

SetRange のようなオブジェクトに使用する必要があります。

Dim cellRange As Range
' fieldIndex = 1, startRow = 10, lastRow = 20
Set cellRange = s.Range(Cells(startRow, fieldIndex), Cells(lastRow, fieldIndex))
于 2013-02-08T14:40:41.107 に答える
2

シドが示唆しているように、たとえばこのように、セルの部分を明確にする必要がある場合もあります。

With s
   Dim cellRange As Range
   ' fieldIndex = 1, startRow = 10, lastRow = 20
   Set cellRange = .Range(.Cells(startRow, fieldIndex), .Cells(lastRow, fieldIndex))
End with 
于 2013-02-08T14:45:16.057 に答える