| 
    
     |  | 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の時とそうでないときの処理を分けなければ
 ならないと思いますよ。
 
 手動操作でも同じように単一セルの選択で「ジャンプ」---「セル選択」---「可視セル」
 をおこなうと、非表示セルがないときは、単一セルを返しますが、
 非表示セルが存在する場合は、シート全体から抽出してしまいます。
 
 
 |  |