2017-02-23 125 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);"")}