Excel VBA Offsetで指定した行数および列数だけ移動した位置を取得する

 

Excel VBA  Offsetは、セルやセル範囲を基準にして、指定した行数および列数だけ移動した位置を取得するために使用します。動的にセルを参照することが可能になります。具体的な使い方や、注意点やサンプルコードを紹介します。

 

Excel VBA Offsetでセル参照する利用

以下のようなシーンで利用されます。

・動的にデータ範囲を指定する。

・相対的な位置にあるデータにアクセスする。

・ループ内でセルの移動を行う。

 

使い方

Offsetは、基準セルやセル範囲に対して相対的に位置を指定します。Offsetの引数として、移動する行数と列数を指定します。

 

ポイント

行オフセットや列オフセットには負の値を指定することも可能で、負の値は基準位置から上や左に移動します。

 

Excel VBA Offsetでセル参照するサンプルコード
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 エキスパート資格は、VBAプログラミングの専門家としての信頼性を高めキャリアの成長に大きく貢献し、求人市場での競争力を高め、キャリア機会を拡大します。

 

当サイトでは、Excel VBAエキスパート認定資格取得に役立つ情報を提供しています。まずは問題集から挑戦してみませんか?

 

ExcelVBAエキスパートベーシック
仕事の効率をあげるためにExcelVBAを利用する人が対象の問題集です。


ExcelVBAエキスパートスタンダード

ExcelVBAの開発を仕事にする人が対象の問題集です。