ポイント
- フィルタ結果が飛び地(歯抜け、複数のセル領域)となり、その可視部分を Range として取得した場合、複雑な結果が得られる。
- 飛び地可視部分を取得したコードは
Range.SpecialCells(xlCellTypeVisible)
- 飛び地のセルを Range に含めた場合、それぞれのセル範囲の Range が作られる。
- 飛び地は Areas プロパティの中に含まれるようになる。
- Range のプロパティメンバとして Areas があり、Areas のプロパティメンバとして飛び地の Range が含まれる。
- Areas 内の Range のインデックスは 1 から始まる。
- 飛び地の Range の数は Areas.Count で取得できる。
- 飛び地の Range は Range.Areas(n) で取得できる。
- Union 関数を使用して複数の Range を統合した変数は、フィルタ結果が飛び地の可視部分の Range を取得した時の構造と同じ。
以上のことに気がついたわけですけれども、それを学習できたコードを残しておきますの♪