Excel/VBA

TOP

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

アクティブセルの値と位置を取得する方法の説明画像です

目次

アクティブセルの値を取得する方法

アクティブセル(現在選択されているセル)の値を取得するには「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
        

上記のサンプルコードを実行することで選択されている範囲全てのセル値を取得することができました。

アクティブセルの値と位置を取得する方法の説明画像です

関連記事