Das folgende Stück Code in Excel arbeitet vor 2010:Excel VBA WorksheetFunction.CountA - nicht funktioniert Post Upgrade auf Office 2010
myRange = Range("A:A")
NumRows = Application.CountA(myRange)
gibt es 38 Zellen text/Werte in Spalte A enthält, wenn der Code wird in Excel 2007 ausgeführt, NumRows wird korrekt zu 38 ausgewertet, wird jedoch in Excel 2010 zu 65.536 (falsch) ausgewertet.
Das Eingeben der CountA
-Funktion in Zelle funktioniert in beiden Versionen OK.
Ähnliche Faden ist question 16696891, aber es gab keine Antwort, und die Vorschläge wurden, glaube ich, rote Heringe ...
Irgendwelche Ideen?
Hallo Danke beides. Entschuldigung, sollte klargestellt haben - der Bereich wird mit dem Schlüsselwort Set festgelegt. Eigentlich brauchen Sie nicht '.WorksheetFunction', eigentlich sollte' Application.CountA' alleine funktionieren. Auf dem betreffenden PC zeigt 'Application.WorksheetFunction.CountA (Range (" A: A ")) 65.536, obwohl nur 38 Zellen etwas enthalten. Ich kann nicht auf meinem eigenen Schreibtisch replizieren. Ich dachte, es könnte ein Problem mit dem Upgrade von einer Office-Version zur anderen sein. Der "neue" PC verfügt über Office 2010 unter Windows 7 und wurde von Office 2007 unter Windows 2003 aktualisiert. –
Könnte es ein Problem mit der bestimmten Tabelle sein? Versuchen Sie, alle "leeren" Zellen auszuwählen, zu löschen und zu speichern. Wenn das nicht zu dem erwarteten "38" Ergebnis führt, bin ich ratlos. –