我无法从 Excel VBA 中的 SpecialCells(xlCellTypeLastCell)
获取准确值。以下代码应输出“TrackedItems”工作表中第一个空行的行号。工作表有 8 行,但代码输出 25(应该输出 9):
emptyRow = 1 + wb.Worksheets("TrackedItems").Cells.SpecialCells(xlCellTypeLastCell).Row
MsgBox emptyRow
在此特定实例中,this answer将解决我的问题,因为电子表格的填充并不稀疏(没有空白单元格与非空白单元格混合在一起)。但是,我多次使用了 xlCellTypeLastCell,但没有遇到此问题,包括在数据稀疏填充的情况下。是什么导致 xlCellTypeLastCell 出现这种行为?有什么方法可以使其正常运行,或者我必须依赖自定义编码的函数吗?我是否应该用此类函数替换使用 xlCellTypeLastCell
的旧工作,或者它当前有效的事实是否意味着它以后不会中断(至少如果我不更改这些工作簿中的任何代码)?
最佳答案
你可以试试这个:
emptyRow = range("A" & activesheet.rows.count).end(xlup).row
返回最后一行,其中可能有数据?
关于excel - xlCellTypeLastCell 给出错误的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17090426/