下午好,
我正在使用这些数据透视表生成的数据,并且我想用它们上面的值填充第一列(从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
关于excel - 对于每个在Excel VBA中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24523422/