7.14 Offsetプロパティ
意外に知られていないプロパティで、???.Offsetというプロパティがあります。このプロパティ、知っておくと意外と便利でお得です。

Offsetプロパティというのは、「Rangeなどで指定した範囲からOffset(行, 列)で指定した先の部分を操作対象とする」というプロパティです。
Offsetの使用例
ほとんどムリヤリに近い例ですが、例では行1〜行10までのA列〜G列のセルに文字を入れています。ただし、ループはA1〜A10で行い、B列〜G列へ文字を入れるときはOffsetプロパティで操作しています。

ちなみに、実行するとV字型に文字が入ります(笑)

Sub prcOffset()

    Dim rngCell As Range

    'ループはA1〜A10で行います
    For Each rngCell In Range("A1:A10")

        rngCell.Value = "A"
        '各行のセルB〜Gは、Offsetで操作します
        rngCell.Offset(1, 1) = "B"
        rngCell.Offset(2, 2) = "C"
        rngCell.Offset(3, 3) = "D"
        rngCell.Offset(2, 4) = "E"
        rngCell.Offset(1, 5) = "F"
        rngCell.Offset(0, 6) = "G"

    Next

End Sub
 ※このエクセルマクロはワークシート内へ記述するマクロです
Copyright(C) 1999-2006 結城圭介。 All rights reserved