访问VBA:获取Excel工作表的最后一行

时间:2018-11-05 14:37:21

标签: excel ms-access access-vba

使用Access VBA,我正在从Excel文件中获取一些数据,以移至Access表。

我知道

  

应用定义错误或对象定义错误

在此代码行上:

For Each c1 In mSheet.Range(mSheet.Range("F4"), mSheet.Range("F4").End(xlDown)).Cells

该问题肯定是由于.End(xlDown)造成的:我试图删除.End(xlDown),它可以正常工作。

作为替代方案,我使用了其他代码,但未做任何更改:

Dim mRow As Integer
mRow = mSheet.Cells.SpecialCells(xlCellTypeLastCell).Row

在这种情况下,我得到

  

错误1004:无法获取Range的SpecialCells属性   课。

1 个答案:

答案 0 :(得分:1)

除非您为Excel对象库设置了引用,否则xlDown没有任何价值。添加:

Const xlDown as Long = -4121

您的代码。虽然通常最好从工作表的底部开始。