Excel

【Excel】VBAマクロで選択範囲を取得(アクティブセル:位置や番地:アドレス:現在:マウスクリック:変数など)する方法【Selection, Cells, Rows】

当サイトでは記事内に広告を含みます

この記事ではVBAマクロで選択範囲を取得(アクティブセル:位置や番地:アドレス:現在:マウスクリック:変数など)する方法【Selection, Cells, Rows】について解説していきます。

ポイントとしてはRange、Selection、ActiveCell、Cellsを使用することです。

なお、下記の解説では完全な初心者でもわかりやすいようにあえて変数名(あなた自身が名付けていい場所)を少々変わった名称にしております。

そのため、あなた自身がご活用の際には、ここを適切な(英語表記でしっくりくるものが一般的)ものに変更してご活用くださいね。

それでは詳しく見ていきましょう!

 

VBAマクロでアクティブセルの選択範囲を取得し、C3セルにその範囲を表示させる方法【範囲を1セルにし入力】

それではまず、VBAマクロでアクティブセルの選択範囲を取得し、C3セルにその範囲を表示させる方法について解説していきます。

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。


Sub hani_shutoku()
    'hensuを利用して選択範囲を取得
    Dim sentakuhani As Range
    Set sentakuhani = Selection
    
    '取得したアドレスをC3セルに貼り付け
    Range("C3").Value = sentakuhani.Address
End Sub

コードのAlt+F8を押し、マクロ選択画面でhani_shutoku関数を実行します。

このコードでは、まず選択範囲を変数sentakuhaniに格納します。

Selectionは現在選択されているセルまたはセル範囲を表すプロパティで、アクティブセルを含む選択範囲全体を取得します。

そして、Range(“C3”).Valueを使ってsentakuhani.Addressの値、つまり選択範囲のアドレスをC3セルに貼り付けています。

 

VBAマクロでアクティブセルの選択範囲を取得し、アドレスとその値を各セルに1つずつ順番に入力していく方法【アドレスはB2を先頭に、値はC2を先頭に下方向にどんどん追記】

続いては、VBAマクロでアクティブセルの選択範囲を取得し、アドレスとその値を各セルに1つずつ順番に入力していく方法について解説していきます。

具体的には、各アドレスをB2を先頭にB列下方向に、中の値をC2セルを先頭にC列下方向にどんどん追記していくコードになっています。

 

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。


Sub hani_shutoku_adoresu_atai()
    'hensuを利用して選択範囲を取得
    Dim sentakuhani As Range
    Set sentakuhani = Selection
    
    'アドレスと値を入力するための変数rowを定義
    Dim row As Long
    row = 2
    
    'sentakuhaniの範囲を1セルずつ順番に取得 
    Dim cell As Range
    For Each cell In sentakuhani
        'アドレスを取得してB列に入力
        Cells(row, 2).Value = cell.Address
        
        '値を取得してC列に入力
        Cells(row, 3).Value = cell.Value
        
        'rowに1を足して次の行に移動
        row = row + 1
    Next cell
End Sub

コードのAlt+F8を押し、マクロ選択画面でhani_shutoku_adoresu_atai関数を実行します。

 

コードの意味詳細

このコードでは、まず選択範囲全体を変数sentakuhaniに格納します。

次に、アドレスと値を入力する開始行を表す変数rowを2で初期化しています。B2とC2から順番に入力していくためです(先頭行はヘッダーなど記載の場合が多いため)

そして、For Each文を使ってsentakuhaniの1セルずつ順番に取り出し、Cells(row, 2).Valueでアドレスを、Cells(row, 3).Valueで値を、B列とC列にそれぞれ入力しています。

最後に変数rowに1を足すことで、次の行に移動しています。

 

まとめ VBAで選択範囲を取得(位置や番地:アドレス:マウスクリック:変数など)する方法【Selection, Cells, Rows】

この記事では、VBAマクロで選択範囲を取得(アクティブセル:位置や番地:アドレス:現在:マウスクリック:変数など)する方法【Selection, Cells, Rows】について解説しました。

マクロの扱いになれ、さらに快適な生活を送っていきましょう(^^)/