我不知道为什么这会无限循环。虽然我设置了范围,但是我的代码在我的范围(rng)中的所有行都已经过检查之后不会退出循环。设置范围内的无限循环
Option Explicit
Sub prnt()
Dim i As Long
Dim rng As Range
Dim cell As Range
Dim row As Range
Set rng = ActiveSheet.Range("B8:F57")
For Each row In rng.Rows
For Each cell In rng.Rows.Cells
If cell <> "" Then
cell.Copy
Range("i8").Offset(i, 0).PasteSpecial
i = i + 1
Else
End If
Next cell
Next row
End Sub
'对于每一个单元格在行中。单元格不是'对于rng.Rows.Cells中的每个单元格' –
@TimWilliams:没有不同意,只是想知道:如果他只想通过列表中的所有单元格,为什么两个循环,为什么不只是'对于rng.Rows.Cells中的每个单元格?'? – Ditto
@你是对的,只有一个循环是必须的,除非他想在行之间做一些事情。但是,由于OP已经写了你所说的是真的,除了删除'.rows',所以只有'对于rng.cells中的每个单元格' –