对于每种类型';不能在excel vba中工作

对于每种类型';不能在excel vba中工作,vba,excel,foreach,Vba,Excel,Foreach,下午好 我正在处理这些数据透视表生成的数据,我想用上面的值填充第一列(从N1开始)中的一些空单元格: (我想在那里发布一张图片,但显然我需要10%的声誉才能做到。这有多愚蠢?) 所以我写了这个: Sub orange_square() Dim cellule5 As Range For Each cellule5 In Range("N1").CurrentRegion.Columns(1) cellule5.Value = cellule5.Offset(-1,0).Value

下午好

我正在处理这些数据透视表生成的数据,我想用上面的值填充第一列(从N1开始)中的一些空单元格:

(我想在那里发布一张图片,但显然我需要10%的声誉才能做到。这有多愚蠢?)

所以我写了这个:

Sub orange_square()

Dim cellule5 As Range

For Each cellule5 In Range("N1").CurrentRegion.Columns(1)
    cellule5.Value = cellule5.Offset(-1,0).Value

Next
End Sub
但它什么也没做,所以我写了这个:

Dim cellule5 As Range

For Each cellule5 In Range("N1").CurrentRegion.Columns(1)
     MsgBox (IsEmpty(cellules))
Next
这只给了我一个带有False的MsgBox。因此,我假设由于某种原因,它只在第一个单元中运行,因此我编写了以下测试:

Dim cellule5 As Range

For Each cellule5 In Range("N1").CurrentRegion.Columns(1)
     cellule5.Value = 5
Next
它用5代替了一切。如果有人了解其中任何一点,他们的帮助将受到相当的感谢。提前谢谢


编辑:起初我以为这是因为这些数据在一个表中,但我没有列出,问题仍然存在

您正在查看列,一次查看一列。您需要使用:

For Each cellule5 In Range("N1").CurrentRegion.Columns(1).Cells

非常感谢。我本想投票支持你的答案,但我需要15%的声誉。