2017-02-23 92 views
0

我在Excel中有一列,公式为=IF(O10="";"";IF(O9=O10;"";N9-3))。这个公式不会每次都产生结果。有时候细胞是空的。所以我想复制另一列中的已填充单元格,以便将它们排序在彼此旁边。例如使用Excel公式更改VBA代码

N O P R 
1 5  1 
2 6  4 
3 7 
4 7 1 
5 8 
6 9 
7 9 4 

我用下面的宏

Sub Roll2() 

Range("R7:R2500").ClearContents 
With Range("P7:P2500")  
    .Offset(, 0).SpecialCells(xlCellTypeFormulas, xlNumbers).Copy 
    '^--| consider cells with number value resulting from the formula 
    .Offset(, 2).PasteSpecial SkipBlanks:=True, Paste:=xlPasteValues 
End With 

End Sub 

我可以以某种方式做没有宏谁干的?我有一个很大的工作簿,它只用Excel创建,如果可以,我想避免使用5行代码。

+0

您希望在不Excel中的宏只复制值? – Vityata

+1

是的,这就是我想要的 – tombata

+0

复制,然后按Ctrl + Alt + V(在对话框的底部检查跳过空白) –

回答

0

我解决了它这种方式

{=IFERROR(INDEX($P$7:$P$1353;SMALL(IF(LEN($P$7:$P$1353)>2;ROW($P$7:$P$1353)-ROW($P$6));ROW(14:14));1);"")}