Excel VBA
通常、選択行は「Range」オブジェクトの「Rows.Count」とかで簡単に取れる。
しかし、これが「Ctrl」を使って非連続行を選択したりするとうまくいかない。
「Rows.Count」は最初の選択行(連続した部分)の行数が返ってくるようだ。
選択された全行を取得するにはどうするのか。
調べてみたが意外とこれが見つからない。
さすがに世界を代表するソフトだけあってExcelの問題はネットを探せば簡単に解決策が見つかるものだが、不思議と問題にしている人さえほとんど見かけない。
(もしかすると根本的にやり方が間違っているのかも・・・)
ネットで回答が見つからなかったので自分なりに力技で求めてみた。
選択部分は「Selection.Areas」で塊ごとの「Range」オブジェクトが返ってくるようだ。
だとすればあとはそれぞれの行数をカウントして足すだけ。
RowCount = 0 |
もっとダイレクトな方法があってもよさそうだが、とりあえず良しとする。
0 件のコメント:
コメントを投稿