Access VBA中的Excel COUNTA等效项,用于返回电子表格中非空行的数量

时间:2013-04-10 22:04:26

标签: ms-access ms-access-2007 ms-access-2010

我想在Access中运行一些VBA来获取包含Excel文档中指定单元格区域内数据的行数。

在Excel COUNTA中做得很好,但是如何从Access VBA获得相同的结果?它只需要查看1列数据。

要参考的示例位置:

完整路径

  • C:\用户\马特\桌面\ ExcelFile.xls

在Excel中使用我需要计算的行

  • ExcelSheet

开始单元格引用

即。顶部和最左边的细胞;因此,如果我在Excel中使用COUNTA,我会查看COUNTA(A14:A5000)之类的范围:

  • A14

编辑代码我已尝试过,但我收到了错误消息:

Option Compare Database

Sub ImportDataFromRange()

Dim xlFilePath As String
Dim rowVariable As String

xlFilePath = "C:\Users\Matt\Desktop\MattExcelFile.xls"

rowVariable = Excel.Application.WorksheetFunction.CountA(Workbooks(xlFilePath).Sheets("ExcelSheet").Range("A14:A5000"))

Debug.Print rowVariable

End Sub

Private Sub Command0_Click()

ImportDataFromRange

End Sub

运行此代码时收到的错误消息,突出显示rowVariable = ...行:

  

运行时错误' 9':

     

下标超出范围

1 个答案:

答案 0 :(得分:1)

您可以在VBA中使用工作表函数;见here。只需添加对Excel对象模型的引用。