Poniższy kawałek kodu działa w Excelu przed 2010:Excel VBA WorksheetFunction.CountA - nie działa poczta uaktualnienia do Office 2010
myRange = Range("A:A")
NumRows = Application.CountA(myRange)
Istnieje 38 komórek zawierających tekst/wartości w kolumnie A. Gdy kod jest uruchamiany w programie Excel 2007, NumRows poprawnie ocenia do 38, jednak (błędnie) ocenia do 65 536 w programie Excel 2010.
Wprowadzanie funkcji w komórce CountA
działa poprawnie w obu wersjach.
Podobny wątek jest question 16696891, ale nie było odpowiedzi i sugestii, myślę, czerwone śledzie ...
Jakieś pomysły?
Witam Dzięki temu. Przepraszamy, powinno to być jasne - zakres jest ustawiany za pomocą słowa kluczowego Ustaw. W rzeczywistości nie potrzebujesz '.WorksheetFunction', w rzeczywistości' Application.CountA' powinno działać samodzielnie. Na komputerze, o którym mowa, 'Application.WorksheetFunction.CountA (Range (" A: A "))' pokazuje 65 536, mimo że tylko 38 komórek zawiera cokolwiek. Nie mogę replikować na własnym biurku. Pomyślałem, że to może być jakiś problem z aktualizacją z jednej wersji biura na drugą. "Nowy" komputer ma Office 2010 na Windows 7 i został uaktualniony z Office 2007 na Windows 2003. –
Czy może to być problem z konkretnym arkuszem kalkulacyjnym. Spróbuj wybrać wszystkie "puste" komórki, usuwając je i zapisując. Jeśli to nie spowoduje oczekiwanego wyniku "38", jestem zaskoczony. –