これは、組み込み関数があると確信しているものの 1 つです (そして、過去に言われたことがあるかもしれません) が、私はそれを思い出すために頭をかきむしっています。
Excel VBA を使用して、複数列の範囲の各行をループするにはどうすればよいですか? 私が検索してきたすべてのチュートリアルは、1次元の範囲での作業についてのみ言及しているようです...
これは、組み込み関数があると確信しているものの 1 つです (そして、過去に言われたことがあるかもしれません) が、私はそれを思い出すために頭をかきむしっています。
Excel VBA を使用して、複数列の範囲の各行をループするにはどうすればよいですか? 私が検索してきたすべてのチュートリアルは、1次元の範囲での作業についてのみ言及しているようです...
Dim a As Range, b As Range
Set a = Selection
For Each b In a.Rows
MsgBox b.Address
Next
このようなもの:
Dim rng As Range
Dim row As Range
Dim cell As Range
Set rng = Range("A1:C2")
For Each row In rng.Rows
For Each cell in row.Cells
'Do Something
Next cell
Next row
Cells
ループでは、次のように R1C1 参照メソッドを使用して、常にクラスを使用することを好みます。
Cells(rr, col).Formula = ...
これにより、セル範囲を簡単にすばやく簡単にループできます。
Dim r As Long
Dim c As Long
c = GetTargetColumn() ' Or you could just set this manually, like: c = 1
With Sheet1 ' <-- You should always qualify a range with a sheet!
For r = 1 To 10 ' Or 1 To (Ubound(MyListOfStuff) + 1)
' Here we're looping over all the cells in rows 1 to 10, in Column "c"
.Cells(r, c).Value = MyListOfStuff(r)
'---- or ----
'...to easily copy from one place to another (even with an offset of rows and columns)
.Cells(r, c).Value = Sheet2.Cells(r + 3, 17).Value
Next r
End With