アプリケーションとしてのVBA
選択されているセルのアドレス・行・列番号 を調べる /
順番にアクセスする
◆選択されているセルのアドレス・行・列番号 を調べる / 順番にアクセスする
ユーザーに何らかの処理をさせたいセルを選択してもらって、そのセルに処理を適用
するアプリケーションの用途は多いのではないでしょうか。
その場合、選択されているセルを For ループなどを使って順番に参照して、操作する
必要があります。
つまり、選択してあるアドレスや 行番号、列番号を取得できれば、汎用性ある
アプリケーションを作成できるようになります。
方法は、Address,Row,Column のプロパティを使用します。
次のようにセルを選択して、アドレスや 行番号、列番号を調べる方法を
説明します。
下記のマクロを参照してください。
Sub Sample1()
Dim RowCnt, ColCnt, StartRow, StartColumn As Integer
Dim Max_Row, Max_Column, i As Integer
Dim LoopArea As Range
Dim SelectArea As String
SelectArea = Selection.Address
RowCnt = Selection.Row
ColCnt = Selection.Column
Set LoopArea = Selection
StartRow = LoopArea.Cells(1).Row
StartColumn = LoopArea.Cells(1).Column
Max_Row = LoopArea.Cells(LoopArea.Count).Row
Max_Column = LoopArea.Cells(LoopArea.Count).Column
End Sub
上記マクロを実行すると、各変数には以下の値が入ります。
SelectArea : "$B$3:$F$10"
RowCnt : 3
ColCnt : 2
StartRow : 3
StartColumn : 2
Max_Row : 10
Max_Column : 6
LoopArea.Count は選択されているセル数が得られます。
また、選択してあるセルを順番にアクセスする場合は、以下のようにすると
便利です。
Sub Sample1()
Dim i As Integer
Dim LoopArea As Range
Set LoopArea = Selection
For i = 1 To LoopArea.Count
LoopArea.Cells(i) = "AA"
Next
End Sub