Czy można na nieaktywnej zakładce operować komórkami specjalnymi, czyli np: xlLastCell, xlDown, xlToRight?
Chodzi m.in. o wykorzystanie ich do np definicji obszaru:
Range(Selection, Selection.End(xlDown)).Select
Problem w tym kodzie nie leży w samym stosowaniu komórek specjalnych, tylko w:
- próbie zaznaczenie komórek w arkuszu nieaktywnym,
- odwołania się do obiektu Selection dla nieaktywnego arkusza (podobnie nie można odwołać się do ActiveCell dla arkusza nieaktywnego).
Przykład działającego kodu (dla arkusza nieaktywnego), gdzie stosujemy komórki specjalne:
MsgBox Range(Worksheets("Sheet1").Range("A1"), Worksheets("Sheet1").Range("A1").End(xlDown)).Count
Proszę zwrócić uwagę, że za każdym razem, gdy odwołujemy się do komórek tego nieaktywnego arkusza (u mnie nazwanego "Sheet1"), musimy użyć Worksheets("Sheet1") przed Range(...).
W odpowiedzi na Pana komentarz - nie działa, ponieważ napisał Pan .Row, co jest liczbą całkowitą, podczas gdy drugi parametr Range oczekuje na obiekt typu Range lub adres komórki. Proszę usunąć .Row i będzie działać. Problem jest więc niezwiązany z kwestią nieaktywnego arkusza ani SpecialCells.