Dim ce As Range
Dim va As Variant
Sub MultiSelect()
For Each ce In Selection
va = Range(ce.Address).Value
MsgBox "選択された値は " & va & " です"
Next
End Sub
このブログで具体的にコードのことを書くのは初めてだ。
一昨日VBAの簡単な(のつもりだった)コードを書くつもりが、思ったサイトを検索できなくて少し時間がかかってしまった。
要件は、Ctrlで複数のセルを選択した時に、全てのセルの値を取得して処理をするというもの。
Ctrlしながら複数セルを選択するのはWindowsの基本機能だからそんなサンプルコードはどこにでも転がっていると思っていた。ところが検索キーワード
vba activecell 選択 複数
では、「複数」に反応しない。
vba selection 選択 複数
も飛び飛びの範囲ではなく、最上下、最左右で作られる長方形の領域全てのrangeを処理するものばかり。
vba selection 選択 複数 飛び飛び
これもだめ・・
ようやく選択したセルの番地を取得するサイトは見つかったけど、
値を取得するサイトは見つからなかった。
そこで、載せてみたというわけだが、このブログが検索されることがあれば幸い。
VBAはググればやりたいことがほぼ見つかるのだが、同じようなサイトが多いから検索上位10サイトのどれを見ても、ほぼ同じような内容というものが多い。ヒットするならいいのだけど、少し違うニュアンスの処理にしたいときは、下の方に検索されることが多いということもある気がする。