UsedRange 循环大于预期

Tek*_*kus 1 excel vba

我有一个 22 行的表,我只想通过 B 列。由于某种原因,我的循环超出了 22 行并达到了 259。

代码

Debug.Print "Starting..."
Dim tempRange As Range
Set tempRange = Sheet18.UsedRange.Columns("B")

Dim i As Integer
i = 0
For Each Cell In tempRange.Cells
    i = i + 1
Next Cell
Debug.Print "Count: " & i
Run Code Online (Sandbox Code Playgroud)

中间窗口

Starting...
Count: 259
Run Code Online (Sandbox Code Playgroud)

显示有 22 行的 Sheet18 的屏幕截图

22 行表

屏幕截图显示了 22 行的表引用

显示 22 行的表参考

Big*_*Ben 7

UsedRange有问题,因为注意到这里

由于您有一个表或ListObject,只需遍历ListColumn.

Dim myTbl as ListObject
Set myTbl = Sheet18.ListObjects("Table24")

Dim rng as Range
For Each rng in myTbl.ListColumns(2).DataBodyRange
    ...
Next rng
Run Code Online (Sandbox Code Playgroud)