まさ工房

ExcelVBAとAcessDBを利用した業務支援ツールを作成する工房です

【Excelマクロ・VBA】アクティブセルのアドレスを取得(Row・Column)するにはどうすればいいの?教えて!

       f:id:m_kbou:20190817083913p:plain

アクティブセルのアドレスを取得する方法について説明します。アクティブセルのアドレスは「何行何列目のセル」である事がわかればいいので、行を取得するRowプロパティと列を取得するColumnプロパティを使用してアドレスを取得します。

 

【目次】

 

構文

記述方法は、以下の通りとなります。

=======================================================================

ActiveCell.Row
ActiveCell.Column

=======================================================================

[説明]:

アクティブセルの行を取得するにはRowプロパティを記述し、列を取得するにはColumプロパティを記述します。内容を纏めると、「アクティブセルの行数や列数を取得して下さい。」との意味になります。

 

使い方

使い方について、具体的に説明していきます。

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

アクティブセルの行数を取得する方法について説明します。

[記述例]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。

-------------------------------------------------

Sub サンプル()
    Dim 行 As Integer
    行 = ActiveCell.Row
    MsgBox "アクティブセルの行数は" & 行 & "行目です。"
End Sub

-------------------------------------------------

内容は、「アクティブセルの行数を変数:行にセットし、最後にMsgBoxで”アクティブセルの行数はX行目です。”のメッセージを表示して下さい。」との意味になります。

[実行例]:

・B1セルをアクティブセルとして選択した場合、”アクティブセルの行数は1行目です。”が表示されます。

f:id:m_kbou:20190817083931p:plain

アクティブセルの行数を取得する方法についての説明は以上です。

 

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

アクティブセルの列数を取得する方法について説明します。

[記述例]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。

-------------------------------------------------

Sub サンプル()
    Dim 列 As Integer
    列 = ActiveCell.Column
    MsgBox "アクティブセルの列数は" & 列 & "列目です。"
End Sub

-------------------------------------------------

内容は、「アクティブセルの列数を変数:列にセットし、最後にMsgBoxで”アクティブセルの列数はX列目です。”のメッセージを表示して下さい。」との意味になります。

[実行例]:

・B1セルをアクティブセルとして選択した場合、”アクティブセルの列数は2列目です。”が表示されます。

f:id:m_kbou:20190817084250p:plain

アクティブセルの列数を取得する方法についての説明は以上です。

 

おわりに

今回は、アクティブセルのアドレスを取得する方法について説明しました。上記の例では、行および列共に取得した結果を変数に保存しMsgboxで表示しました。しかし、実際のプログラミングでは、取得した結果(値)を元に分岐処理(IF判定Select判定)で使用する事が多くなると思います。