IF文(Excel VBA)
k.w
SEへの道
複数選択したセルのプロパティを取得したいと思った場面ありませんか?
(配列を使うという手段ありますが、今回は違います。)
ここでいうプロパティとは、例えばセルのアドレス(列や行)を指します。
CellsやRangeなどで選択することはできても、その後の処理に使ったりする方法を説明します。
手動・自動問わず、選択されているセルのプロパティを取得する。
.Selectionの可能性を探っていきます。
Sub SelectionCount()
Selection.Count
End Sub
上記で取得した値は、変数に代入することが出来ます。
Sub SelectDainyuu()
Dim Dainyuu As Long
Range("A1:C1").Select
Dainyuu = Selection.Count
MsgBox Dainyuu & "件のセルを選択しています。"
End Sub
Sub SelectionNo()
Dim SelectAddressRow As Long
Dim SelectAddressColumn As Long
Range("A1").Select
MsgBox "選択したセルの行番号は、" & SelectAddressRow '1行目なので1と表示
MsgBox "選択したセルの列番号は、" & SelectAddressColumn '1列目なので1と表示
End Sub
選択した範囲は一番左上選択セル(A1に近いもの)を起点に列右方向にナンバリングし、最も右の次は次の行の左端から右方向にナンバリングする。というルールがあります。
一番最後(右下)のセルの列、行を取得することもできます。
Selection(Selection.Count).Column
Selection(Selection.Count).Row
となります。数字(ナンバー)指定も良いですが、可変の場合はできるだけ数値を自動的に取得したいですね。
うまく使いこなせば、ユーザが検索キーワードを入力して検索するのではなく、任意で選択したセルの値を取得して処理に使う。なんてことも容易にできるようになりますね。
色々と活用の目線を広げてみましょう!