在数据集Excel中分配不正确的最后一行

时间:2016-08-26 13:40:19

标签: excel vba excel-vba

我试图通过数据集设置动态迭代的最后一行,并且遇到了我以前从未体验过的错误。出于某种原因,lastRow被设置为数据开始之前的行。如果数据从第21行开始,则将lastRow设置为20. brokerLocationInTable是传递给函数的范围对象,表示代理在数据集中的位置。

代码导致错误

lastRow = CoverageAndRateSheet.Range("E" & brokerLocationInTable.Row).CurrentRegion.Rows.Count

数据以略微奇怪的方式存储。代理名称在D列中,紧邻名称的是E列中与该代理对应的客户列表。一旦该经纪人的客户名单用尽,那么这一行就会出现空白行,并且下一个经纪人会打开他/她相应的客户列表,这就是为什么我使用"控制权转移&#34 ;方法而不是从工作表底部向上迭代。

1 个答案:

答案 0 :(得分:0)

使用

With CoverageAndRateSheet.Range("E" & brokerLocationInTable.row)
    lastRow = .CurrentRegion.Rows(.CurrentRegion.Rows.Count).row
End With

,因为

  • myRange.CurrentRegion.Rows.Count

    只返回myRange当前区域

  • 的行数
  • myRange.CurrentRegion.Rows(.CurrentRegion.Rows.Count)

    返回myRange当前区域的最后一行

  • myRange.CurrentRegion.Rows(.CurrentRegion.Rows.Count).Row

    返回myRange当前区域

  • 的最后一行的行索引