我在由.UsedRange() 确定的范围内遍历每一行的“A”列,并将行号写入单元格。我看到的奇怪行为是当行号写入单元格时,连续的行号仅写入每隔一个单元格:
(1,1) = "1"
(2,1) = 空
(3,1) = "2"
(4,1) = 空
(5,1) = "3"
(6,1) = 空
(7,1) = "4"
...
工作表有 10 行,在“A”列中有空单元格,在“B”和“C”列的每个单元格中都有一个单词。当我单步执行代码时,我可以看到行数 (oRow.Row) 像我预期的那样连续迭代,但这些值写在其他地方。我尝试重置 .UsedRange() ,如此处所述:http ://www.j-walk.com/ss/excel/tips/tip73.htm但结果没有变化。
我正在使用的代码是:
Option Explicit
Sub IterateAndWrite()
Dim oRange As Range
Dim oRow As Range
Dim lCount As Long
Set oRange = ThisWorkbook.Worksheets(1).UsedRange
For Each oRow In oRange.Rows
oRow.Cells(oRow.Row, 1).Value = oRow.Row
' Reset the range
'lCount = ActiveWorkbook.Worksheets(1).UsedRange.Rows.Count
Next oRow
End Sub
我哪里错了?