| 
    
     |  | ▼よっち さん: >フィルタついている範囲だったら、条件なくても簡単に取れるのでしょうか?
 AutoFilter オブジェクトのRangeプロパティというのがそれです。
 MsgBox ActiveSheet.AutoFilter.Range.Address を試してみてください。
 
 >フィルタつけたい範囲については、
 >データ自体はデータベースの構成にはなっており、1列1列の項目名が付与されていますが、
 >cvsのような外部読み込み用ではなく、
 >操作性・閲覧性の為に、ファイルの見栄え上下記の点があります。
 >
 >・見出し部が2行以上ある可能性がある。(カテゴリ毎に纏められている。正規化されていないから)
 >・表の左上の開始位置がA1でなく、不定
 >・ID列がありますが、1レコード目のIDは不定
 >
 >それ以外は特に決まってないような。。。
 >どのような情報がいるのでしょうか。
 >決まって無さ過ぎて無理なんですかね。
 
 ソートの場合に、データの先頭行が見出しかデータかを指定するオプションが
 ありますね。あれと同じで、自動判定することは困難でしょう。
 
 Selectされた位置が見出しであるとみなすとか、Inputメソッドを使って
 指定させるとか、人間が指定する必要があるでしょう。
 さもなければ、あなたがたくさん例を集めて、それをロジックに変更する
 かです。
 いずれにせよ、あなたのシートを見ていない他人に依存するような話じゃない
 ことは確かだと思います。
 
 |  |