アクティブセル(現在選択されているセル)の値と位置を取得する方法
2024年10月13日

アクティブセルの値を取得する方法
アクティブセル(現在選択されているセル)の値を取得するには「ActiveCell.Value」とすることでアクティブセルの値が取得できます。
下記のサンプルコードではアクティブセルの値をメッセージボックスで表示しています。
Sub アクティブセルを取得()
MsgBox ActiveCell.Value
End Sub
上記のサンプルコードを実行することで、アクティブセルの値がメッセージボックスで表示されました。

アクティブセルの位置を取得する方法
アクティブセルのセル番号を取得するには「ActiveCell.Address」、行番号を取得するには「ActiveCell.Row」、列番号を取得するには「ActiveCell.Column」と指定します。
下記のサンプルコードではアクティブセルのセル番号、行番号、列番号をメッセージボックスで表示しています。
Sub アクティブセルを取得()
Dim CellValue As String
Dim CellRow As Long
Dim CellColumn As Long
CellValue = ActiveCell.Address 'セル番号を取得します
CellRow = ActiveCell.Row '行番号を取得します
CellColumn = ActiveCell.Column '列番号を取得します
MsgBox "セル番号:" & CellValue & " 行番号:" & CellRow & " 列番号:" & CellColumn
End Sub
上記のサンプルコードを実行すると、セル番号、行番号、列番号をそれぞれ取得できました。

補足
セル番号は絶対参照ではなく、$を外した相対参照のセル番号を取得する場合は「ActiveCell.Address(False, False)」とすることで相対参照の番号を取得することが出来ます。
選択されている範囲全てのセル値を取得する方法

上記画像のように、複数セルが選択されたときに選択されたセルの値をすべて取得する方法を解説します。
複数選択されているセル値を全て取得するには「Selection」で取得することができます。
下記のサンプルコードは選択されているセルをFor Eachで全て繰り返して、最後にresultに格納されたセル値をメッセージボックスで表示しています。
Sub 選択範囲を全て取得する()
Dim cell As Range, result As String
For Each cell In Selection
'変数(result)に選択されているセルの値を格納する
result = result & cell.Value & vbCrLf
Next cell
MsgBox result
End Sub
上記のサンプルコードを実行することで選択されている範囲全てのセル値を取得することができました。

関連記事
![]() |
『型が一致しません』と突然エラーが発生してしまった場合の対処法 |
![]() |
クラスモジュールの使いどころ |
![]() |
特定の文字が含まれているか確認する方法 |