excel - xlCellTypeLastCell 给出错误的值

标签 excel vba

我无法从 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/

相关文章:

VBA用其计算值替换函数公式内的范围

python - 使用多个工作表创建多个 Excel 文件

excel - 转到所选单元格后的第一个空单元格

c# - 如果我在 Visual Studio 中开发 Excel 应用程序,是否会失去宏录制的好处?

vba - Word VBA : Macro to change cells in selection, 并创建表格的汇总表?

Java - 以编程方式获取 Excel 和打开的 Office 电子表格以制表符分隔文件

excel - 为什么这个 CDATE 不能格式化为 mm/yyyy?

excel - 根据日期和时间导入电子邮件数据

vba - 插入工作表

c# - 以编程方式编辑 Powerpoint 演示文稿中的文本