|
rika さん、INAさん、Jakaさん、こんにちは。
>はじめまして。rikaと申します。いつも勉強させていただいています。
>すでに過去レスにありましたらお許しください。(検索してみたのですが、見つからなくて・・・)
>
>オートフィルターにて抽出後、マウスで選択してもらってその範囲をVBAにて
>取得しようと思い下記コードを書いているのですが、1つだけ選択したときに
>うまく動作してくれません。2つ以上選択したときはうまくいきます。
>すみませんが、どこが悪いのか教えていただければありがたいのですが・・・。
>環境は、Win2000,WinXP Excel2000です。
>
>
> 'エリア数を数える
> cnt = Selection.SpecialCells(xlCellTypeVisible).Areas.Count
>
> '### ↑このときに1つだけ選択したらcnt=6とか入ってしまいます。
例えば、Range("a1").SpecialCells(xlCellTypeVisible).Areas.Count
みたいな場合ですよね?
↑これ、Cells.SpecialCells(xlCellTypeVisible).Areas.Count
と指定したときとほぼ同じになってしまいますよね?
ということは、
Selection.Countの値を見て、1の時とそうでないときの処理を分けなければ
ならないと思いますよ。
手動操作でも同じように単一セルの選択で「ジャンプ」---「セル選択」---「可視セル」
をおこなうと、非表示セルがないときは、単一セルを返しますが、
非表示セルが存在する場合は、シート全体から抽出してしまいます。
|
|