Ric*_*Ell 8 worksheet-function
以下代码在2010年之前在Excel中运行:
myRange = Range("A:A")
NumRows = Application.CountA(myRange)
Run Code Online (Sandbox Code Playgroud)
在A列中有38个包含文本/值的单元格.当代码在Excel 2007中运行时,NumRows正确计算为38,但是,它(错误地)在Excel 2010中的计算结果为65,536.
CountA在两个版本中输入in-cell函数都可以正常工作.
类似的主题是问题16696891,但没有答案,我认为这些建议是红色的鲱鱼......
有任何想法吗?
我不确定你的问题究竟是什么,因为我无法让你的代码按照书面形式工作.两件事似乎很明显:
Range应分配一种类型myRange.由于Range类型是VBA中的对象,因此需要Set如下所示:Set myRange = Range("A:A")CountA()应该使用工作表函数来调用.WorksheetFunction如果您还没有这样做,请考虑使用模块顶部的Option Explicit选项,并使用Dim语句键入变量,如下所示.
以下代码在2010年适合我.希望它也适合你:
Dim myRange As Range
Dim NumRows As Integer
Set myRange = Range("A:A")
NumRows = Application.WorksheetFunction.CountA(myRange)
Run Code Online (Sandbox Code Playgroud)
祝好运.
这段代码对我有用:
Sub test()
Dim myRange As Range
Dim NumRows As Integer
Set myRange = Range("A:A")
NumRows = Application.WorksheetFunction.CountA(myRange)
MsgBox NumRows
End Sub
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
129542 次 |
| 最近记录: |