Po przefiltrowaniu zakresu można uzyskać dostęp do komórek, które spełniają kryteria filtru, korzystając z metody Range.SpecialCells, przekazując wartość "Excel.XlCellType.xlCellTypeVisible" w celu uzyskania widocznych komórek.
Bazując na przykład kodu powyżej, dostępu do widocznych komórek powinien wyglądać mniej więcej tak:
Excel.Range visibleCells = sheet.UsedRange.SpecialCells(
Excel.XlCellType.xlCellTypeVisible,
Type.Missing)
Stamtąd można też uzyskać dostęp do każdej komórki w zakresie widzialnym, poprzez kolekcji „” Range.Cells lub uzyskać dostęp do każdego wiersza, najpierw uzyskując dostęp do obszarów za pośrednictwem kolekcji "Range.Areas", a następnie iterując każdy wiersz w kolekcji "Wiersze" dla każdego obszaru. Na przykład:
foreach (Excel.Range area in visibleCells.Areas)
{
foreach (Excel.Range row in area.Rows)
{
// Process each un-filtered, visible row here.
}
}
Mam nadzieję, że to pomoże!
Mike
Tak !! dzięki, które pomogły ... – shahjapan
Fajnie, cieszę się, że zadziałało dla ciebie, Shahjapan. :) –
Czy dalsi tłumaczą się? To jest czyste rozwiązanie i działa na oryginalny plakat. Czy jest coś, co nie działa tutaj? –