この種の構文(pLOはリストオブジェクト)を使用して、表示されている行に基づいて、listObject(Excelテーブル)のExcel.rangeを返します。
Set returnUniqueList = pLO.range.SpecialCells(xlCellTypeVisible).EntireRow
これは、列に対して高度なフィルターを実行した後に発生します。高度なフィルターが機能し、目視検査で正しい行数を返していることがわかります。
問題は、上記のコードスニペットが多くの領域を含む範囲を返すことです。この範囲には、領域内に重複する行が含まれている可能性があります。したがって、返された範囲内のすべての領域を反復処理すると、重複が発生します。表示されている行のみを返すか、後続の反復中に重複を除外するにはどうすればよいですか?
編集**** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** _ ** _
エリック、オーバーラップに関するいくつかの詳細情報。上記のreturnUniqueList範囲には、多数の「Area」オブジェクトが含まれています。これらの数は1からnまでで、「n」は元のテーブルに表示されている行の数を超える可能性があります。
これらの各エリアも範囲です(したがって、エリア1..n !!!を含めることもできます)。これらの領域の行を見ると、Area(1)にはArea(2)と同じ行が含まれている可能性があります。
編集終了**** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ****
フィルタリングされたテーブルのテーブルに相当するものを返す必要があるため、別の範囲に高度なフィルタを実行することはできません。
これが理にかなっていることを願っています。
乾杯、
LazzMaTazz