我试图通过数据集设置动态迭代的最后一行,并且遇到了我以前从未体验过的错误。出于某种原因,lastRow
被设置为数据开始之前的行。如果数据从第21行开始,则将lastRow
设置为20. brokerLocationInTable
是传递给函数的范围对象,表示代理在数据集中的位置。
代码导致错误
lastRow = CoverageAndRateSheet.Range("E" & brokerLocationInTable.Row).CurrentRegion.Rows.Count
数据以略微奇怪的方式存储。代理名称在D列中,紧邻名称的是E列中与该代理对应的客户列表。一旦该经纪人的客户名单用尽,那么这一行就会出现空白行,并且下一个经纪人会打开他/她相应的客户列表,这就是为什么我使用"控制权转移&#34 ;方法而不是从工作表底部向上迭代。
答案 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
当前区域