对于每个在excel vba中都不起作用

下午好,

我正在处理这些数据透视表生成的数据,我想用上面的值填充第一列(从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。 所以我认为它必须由于某种原因跑了只有第一个单元格,因此我写了以下作为testing:

 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