はてなブックマークに追加
Facebookでシェア
Google+でシェア
Twitterでシェア
7.1 カーソルは今何どこにいる?
エクセルのアプリケーションを作っているとき、現在選択されているセル(カーソルがいるセル)が何行目にいるかや、何列目にいるかを知りたいことはありませんか?

これらを知りたいときは、ActiveCell.Rowで現在選択しているセルの行番号、ActiveCell.Columnで現在選択しているセルの列番号、ActiveCell.Address(a, b, c)ではそれらをA1やC15などのセル名で取得することができます。
ActiveCell.RowとActiveCell.Column
ActiveCell.RowActiveCell.Columnのの使い方です。取得できる内容は、どちらも数値です。例では、現在選択しているセル(カーソルがいるセル)の行番号をセルA1に、列番号をセルA2に入れています。

Sub prcActiveCellRowsColumn()

    '現在選択しているセルの行番号を取得します
    Range("A1")="行番号は:" & ActiveCell.Row

    '現在選択しているセルの列番号を取得します
    Range("A2")="列番号は:" & ActiveCell.Column

End Sub
 ※このエクセルマクロはワークシート内へ記述するマクロです
ActiveCell.Address(a, b, c)
次に、A40やR2C15などのセル名で取得するActiveCell.Address(a, b, c)を使った方法です。

ActiveCell.Address(a, b, c)には、いくつか引数を与える必要がありますが、とりあえずこれだけあれば十分です。

 ■引数(抜粋)
a:行番号の取得形式 True だと「絶対参照形式」です。 例/A$10,R[10]C1
Falseだと「相対参照形式」です。 例/A10 ,R10C1
b:列名の取得形式 True だと「絶対参照形式」です。 例/$A10,R10C[1]
Falseだと「相対参照形式」です。 例/A10 ,R10C1
c:セル名の取得形式 xlA1だと、A1参照形式です。
xlR1C1だと、R1C1の参照形式です。

例では、セル名をA1形式かつ相対参照形式で取得し、結果をセルA1へ入れています。

Sub prcActiveCellAddress()

    Rnage("A1")="セル名は:" & ActiveCell.Address(True, True, xlA1)

End Sub
 ※このエクセルマクロはワークシート内へ記述するマクロです


Copyright(C) 1999-2015 結城圭介(Ver.3.51) All rights reserved