使用 "Cells(Rows.count).Row).End(xlUp)" 的 VBA 代码在 263 次迭代后失败



我使用的子标签的形式是:

If Not Intersect(Target, Sheets("Sheet1").Range("A1")) Is Nothing Then (+ code)

结合:

Sheets("Sheet2").Range ("A1" & Cells(Rows.Count).Row).End(xlUp).Offset(1, 0).Value = Sheets("Sheet1").Range("A1").Value

的目的是将数据从Sheet1上的单元格(例如A1)复制到Sheet2上的列(例如a:)。

这在前263次迭代中工作得很好(无论时间间隔如何,它总是263),但是在第264次迭代中,它不是将下一个值复制到列中的下一个空单元格中,而是连续覆盖单元格A2中的值。这很不幸,因为我需要记录至少600个值。

我在Windows 10下使用Excel 2013。

应该是:

Sheets("Sheet2").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Value = Sheets("Sheet1").Range("A1").Value

仅用一个参数抓取Cells(Rows.Count)不会将您带到列A的底部单元格,因为Cells()将在移动到下一行之前水平计数项目。

最新更新