Я хочу вставить формулу в диапазон ячеек в столбце P. После этого я хочу, чтобы результат формулы был точным (поэтому не формула, а результат). На данный момент я помещаю формулу в ячейки, затем автоматически заполняю последнюю строку, а затем копирую столбец и пропускаю спец. Я хочу избежать использования select - copy - paste. Мне было интересно, если кто-нибудь знает, как это сделать, я видел это раньше, но не могу найти это больше.
Код, который я сейчас использую
Set frCP = Worksheets("Compliance").Range("P" & FirstRowFill & ":P" & LastRowMatchC)
With Worksheets("Compliance")
.Range("P" & FirstRow).Offset(1).FormulaArray = "=IF(IFERROR(INDEX(Input!$A$2:A$" & LastRowInput & ",MATCH(1,SEARCH(TRANSPOSE(Input!$A$2:A$" & LastRowInput & "),O" & FirstRowOffset1 & "),0),0),W" & FirstRowOffset1 & ")=0,""ZZ"",IFERROR(INDEX(Input!$A$2:A$" & LastRowInput & ",MATCH(1,SEARCH(TRANSPOSE(Input!$A$2:A$" & LastRowInput & "),O" & FirstRowOffset1 & "),0),0),W" & FirstRowOffset1 & "))"
.Range("P" & FirstRow).Offset(1).AutoFill Destination:=frCP
End With
Columns("P:P").Select
Range("P88").Activate
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
With Worksheets("Compliance")
.Range("A" & FirstRow).Rows(ActiveCell.Row).AutoFilter
.AutoFilter.Sort.SortFields.Clear
.AutoFilter.Sort.SortFields.Add2 Key:= _
.Range("P" & FirstRow), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
End With
With ActiveWorkbook.Worksheets("Compliance").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With