2017-02-23 69 views
0

У меня есть колонка в excel с формулой =IF(O10="";"";IF(O9=O10;"";N9-3)). Эта формула не дает результата каждый раз. Иногда клетки пусты. Поэтому я хочу скопировать только заполненные ячейки в другой столбец, чтобы отсортировать их рядом с eachother. НапримерИзменить код VBA с формулой Excel

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);"")} 
Смежные вопросы