エクセルVBAで、Offsetの使い方についてです。
Offsetはセルや選択範囲を移動するプロパティです。
簡単なコードでセルを移動させていくことが出来ますので、是非使い慣れておきましょう。
エクセルVBAで、セルやセルの選択範囲を移動させるのにOffsetプロパティがあります。
今回の「VBA最速で理解」は、この便利な「Offsetプロパティ」の使い方について説明します。
こんにちは、じゅんぱ店長(@junpa33)です。














コンテンツ
エクセルVBA Offsetの使い方。セルや選択範囲を移動する
「 Offset 」は「あるセル範囲を基準に、相対的に移動して別のセル範囲を選択します。」ということです。
「相対的に移動??」何かわかりにくいです。
つまり分かりやすく言うと、「Offset は、セルやセル範囲を移動させます。移動量は行方向に〇コ、列方向に〇コ、です。」になります。
Range オブジェクト.Offset(行方向移動量,列方向移動量)
それでは例題と共に説明していきます。
一つのセルの移動
一つのセルを決めて「Offset」で移動させてみます。
「Activecell」のデフォルト位置を「セルD4」とします。

Offset 行方向への移動
Offset 列方向への移動
Offset 行・列方向への移動
セル範囲の移動
セルの範囲選択を行い、それを移動させてみます。
「セル範囲」のデフォルト位置を「セルF8からセルH10」とします。

Offset 行方向への移動
Offset 列方向への移動
Offset 行・列方向への移動
Offset 実際に設置する時の1例
「Offset」を実際のコードの中でどのように使えるかを考えます。
1例として、その時のデータをコピーして違う場所に累積保存していく場合を考えます。
E列に置かれているデータをA列にコピーします。
A列にコピーされたデータは、このVBAコードを実行する毎に蓄積されていきます。
E列にあるデータはその都度、数量や値が変化します。
Sub offsetテスト14() Dim C As Range Dim ERow As Long, ARow As Long 'A列とE列の行数を調べます ARow = Cells(Rows.Count, 1).End(xlUp).Row ERow = Cells(Rows.Count, 5).End(xlUp).Row 'セルA1とセルE1の条件設定 If Range("A1") = "" Then ARow = 0 If Range("E1") = "" Then Exit Sub 'アクティブセルを選択します Range("A" & ARow + 1).Select 'OffsetでA列の行を1段づつ下げる For Each C In Range("E1:E" & ERow) ActiveCell.Value = C.Value ActiveCell.Offset(1).Select Next C End Sub
最初に起動したとき | 2回目以降 |
![]() |
![]() |
入力セルの最終行を取得する方法についてはこちらの記事を参考にしてください。

「For Each」の使い方についてはこちらの記事を参考にしてください。

「Activecell」を使った例題はこちらの記事も参考になります。

offsetの使い方まとめ
「 offset 」を「 ActiveCell 」と組み合わせ、それをループコードの中で展開して、
移動量指定でセルを動かしてみてください。
上手く使って、コードの簡潔化につなげてください。
アクティブセルと組み合われる場合は、その時どこにフォーカスがあるのかは十分注意してください。
エクセルVBAの学習のためのツールの参考記事
エクセルVBAを独習するのに参考書は欠かせません。 参考書選びは自分に合った「相棒」にできるものを選んでいきたいです。
エクセルVBAの独習でおすすめ参考書を7冊選ぶ。良書との出会いは大切です
エクセルVBAの独習には動画学習という方法もあります。 目と耳両方を使って学習することでさらに勉強効率を上げることもできると思います。
エクセルVBA初級者がUdemyで動画学習する講座おすすめ5選と無料講座の上手な使い方。


電子書籍版「大村式【動画&テキスト】Excelマクロ&VBA最高のはじめ方」をamazonで見てみる
(著者)大村あつし(出版社)技術評論社
(税込価格)1,628円(本体1,480円+税)
学習書の新しい形です。
YouTubeと完全リンクした参考書です。入門と基礎を重点的に22本の動画で解説をしています。
ちょっとした空き時間を利用してでもスマホがあれば学習ができます。
動画は優しい語り口調で、視聴者にある意味安心感を与えてくれます。動画は5分から20分間ぐらいで22本の構成です。
文章解説と動画解説の関係性は、動画解説が主で、文章解説がサポートいう使い方もできます。
このサイトでよく使うVBAのコードのトピックを纏めています。






























今回の記事はここまでです。 最後までご覧いただき有難うございました。