こんなあなたにおすすめ
・Excel VBAでセルの位置を取得したい
Excel VBAを使っていると、セルの位置を取得したいということがあります。
今回は、セルの位置(行、列)を取得する方法について解説します。
セルの位置以外に、選択やアクティブしたいという方は、下記の記事が参考になります。
>>【ExcelVBA】セルの選択&アクティベート Select & Activateの使い方
指定セルの位置を取得する
指定したセルの行を取得するには、
(1) Range(“セル”).Row
(2) Cells(行, 列).Row
セル名を絶対参照したい場合は、
(1) Range(“セル”).Address
(2) Cells(行, 列).Address
を使えば取得できます。
実際にコードを見ていきましょう。
指定セルの行、列を取得する
Sub test1() Dim r As Long Dim c As Long r = Range("C2").Row c = Range("C2").Column Debug.Print "行:" & r & ", 列:" & c '行:2, 列:3 End Sub
指定セル名を絶対参照で取得する
Sub test2() Dim a As String a = Range("C2").Address Debug.Print a '$C$2 End Sub
アクティブセルの位置を取得する
アクティブセルの行を取得するには、
ActiveCell.Row
アクティブセルの列を取得するには、
ActiveCell.Column
アクティブセル名を絶対参照したい場合は、
ActiveCell.Address
を使えば取得できます。
実際にコードを見ていきましょう。
アクティブセルの行、列を取得する
Sub test3() Dim r As Long Dim c As Long r = ActiveCell.Row c = ActiveCell.Column Debug.Print "行:" & r & ", 列:" & c '行:2, 列:3 End Sub
アクティブセル名を絶対参照で取得する
アクティブセルが”C2″の場合、プログラムを実行すると、”$C$2″が出力されます。
Sub test4() Dim a As String a = ActiveCell.Address Debug.Print a '$C$2 End Sub
選択セルの位置を取得する
選択セルの行を取得するには、
Selection.Row
選択セルの列を取得するには、
Selection.Column
選択セル名を絶対参照したい場合は、
Selection.Address
を使えば取得できます。
実際にコードを見ていきましょう。
選択セルの行、列を取得する
Sub test5() Dim r As Long Dim c As Long r = Selection.Row c = Selection.Column Debug.Print "行:" & r & ", 列:" & c '行:2, 列:3 End Sub
選択セル名を絶対参照で取得する
選択セルが”C2″の場合、プログラムを実行すると、”$C$2″が出力されます。
Sub test6() Dim a As String a = Selection.Address Debug.Print a '$C$2 End Sub
範囲の開始行、開始列、行数、列数を取得する
指定範囲
Sub test7() Dim r As Long Dim rCnt As Long Dim c As Long Dim cCnt As Long r = Range("A1:C3").Row '範囲の左上の行を取得する rCnt = Range("A1:C3").Rows.Count '範囲の行数を取得する c = Range("A1:C3").Column '範囲の左上の列を取得する cCnt = Range("A1:C3").Columns.Count '範囲の列数を取得する '行:1, 行数:3, 列:1, 列数:3 Debug.Print "行:" & r & ", 行数:" & rCnt & ", 列:" & c & ", 列数:" & cCnt End Sub
選択範囲
Sub test8() Dim r As Long Dim rCnt As Long Dim c As Long Dim cCnt As Long r = Selection.Row '範囲の左上の行を取得する rCnt = Selection.Rows.Count '範囲の行数を取得する c = Selection.Column '範囲の左上の列を取得する cCnt = Selection.Columns.Count '範囲の列数を取得する '行:1, 行数:3, 列:1, 列数:3 Debug.Print "行:" & r & ", 行数:" & rCnt & ", 列:" & c & ", 列数:" & cCnt End Sub
まとめ
ここまで、セルの位置を取得する方法について解説しました。
Rowsプロパティで行数、Columnプロパティで列数を簡単に取得できます。
セル位置を取得できると便利ですので、ぜひ使ってみてください。
セルの選択、アクティベートについては、下記の記事で解説していますので、ご参照ください。
>>【ExcelVBA】セルの選択&アクティベート Select & Activateの使い方
Excelで作業効率をアップしたい方は、下記の記事もご参照ください。
>>Excelのショートカット一覧 覚えて作業効率アップ!!
>>Excelで覚えておくべき関数 作業効率アップ間違いなし
オンラインスクール受講者数No.1!
・自宅にいながらオンライン完結で勉強できる
➡スクールへの移動時間を削減するため、効率的に学習可能!
・受講生に1人ずつ現役のプロのパーソナルメンターがつく
➡分からないことがわかるまで徹底的にメンターに質問可能!
・チャットで質問すればすぐに回答が返ってくる
➡レスポンスが速いから、わからないことをその場で解決!
・オリジナルサービスやオリジナルアプリなどの開発までサポート
➡就職、転職のときに役立つポートフォリオを開発可能!
無料で体験できるので、まずはお試し
>>TechAcademyの無料体験はこちら
[…] 置を取得したいという方は、下記の記事が参考になります。 >>【ExcelVBA】セルの位置を取得する Row & Column […]
[…] この記事の「3. 応用コード」でも少し出てきますが、Row、Columnプロパティについて知りたいという方は、下記記事をご参照ください。 >>【ExcelVBA】セルの位置を取得する Row & Column […]