
Excel VBA Offsetは、セルやセル範囲を基準にして、指定した行数および列数だけ移動した位置を取得するために使用します。動的にセルを参照することが可能になります。使い方や注意点など、サンプルコードをもとに具体的に解説します。
📌 「これ、自動化できたらラクなのに…」と思ったこと、ありませんか?
実はその作業、Excelマクロで簡単に自動化できるかもしれません。
「でもマクロって難しそう…」という方のために、完全初心者向けの入門記事をご用意しました!
👇実務で“そのまま使える”テンプレ付きで、コピペするだけ!
初心者向けエクセルマクロの作り方を解説|コピペOK実務テンプレ付き
Excel VBA Offsetでセル参照する利用
以下のようなシーンで利用されます。
・動的にデータ範囲を指定する。
・相対的な位置にあるデータにアクセスする。
・ループ内でセルの移動を行う。
Excel VBA Offsetでセル参照する利用|使い方とポイント
Offsetは、基準セルやセル範囲に対して相対的に位置を指定します。Offsetの引数として、移動する行数と列数を指定します。
行オフセットや列オフセットには負の値を指定することも可能で、負の値は基準位置から上や左に移動します。
Excel VBA Offsetでセル参照するサンプルコード
自分の実力を客観的にチェックしたい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集をご用意しました。
Option Explicit
Sub ExampleOffset()
Dim baseCell As Range
Dim targetCell As Range
Dim cellValue As Variant
' 基準セルを設定
Set baseCell = Worksheets("Sheet1").Range("A1")
' Offsetプロパティを使用して2行下、3列右のセルを取得
Set targetCell = baseCell.Offset(2, 3)
' 取得したセルの値を変数に格納
cellValue = targetCell.Value
' 結果をメッセージボックスで表示
MsgBox "2行下、3列右のセルの値は: " & cellValue
End Sub
1. 基準セルの設定
Set baseCell = Worksheets("Sheet1").Range("A1")
基準となるセルを`Sheet1`の`A1`セルに設定します。
2. `Offset`プロパティの使用
Set targetCell = baseCell.Offset(2, 3)
基準セルから2行下、3列右のセルを`targetCell`に設定します。
3. セルの値を取得
cellValue = targetCell.Value
`targetCell`の値を変数`cellValue`に格納します。
4. 結果の表示
MsgBox "2行下、3列右のセルの値は: " & cellValue
メッセージボックスで結果を表示します。
「Excel VBAで自動化するコードのベースが習得できる解説書」
Excel VBAエキスパートベーシックとスタンダード、どちらを選べばいいか判断が難しい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集を用意しました。