2014-07-02 91 views
2

下午好,不工作,对于每一个在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 

这给我只有一个MsgBox False。所以,我认为它必须出于某种原因已为第一个单元格只跑了,所以我写了下面的测试:

Dim cellule5 As Range 

For Each cellule5 In Range("N1").CurrentRegion.Columns(1) 
    cellule5.Value = 5 
Next 

,并与5.如果有人了解任何该取代一切,他们的帮助会相当赞赏。提前致谢!

编辑:起初我还以为是因为这些数据是在一个表中,但我未列名它和问题依然存在

回答

5

你是在一个时间翻翻列,1列。您需要使用:

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

谢谢!我本来希望投票你的答案,但我需要15点声望才能这样做。 – Maxime