Excel 使用vba插入公式的结果
我想在p列的一系列单元格中插入一个公式。之后,我希望公式的结果是硬值(因此不是公式而是结果)。现在我将公式放在单元格中,然后自动填充到最后一行,然后复制列和过去的特殊值。我想避免使用select-copy-paste。我想知道是否有人知道怎么做,我以前见过,但现在找不到了 我现在使用的代码Excel 使用vba插入公式的结果,excel,vba,Excel,Vba,我想在p列的一系列单元格中插入一个公式。之后,我希望公式的结果是硬值(因此不是公式而是结果)。现在我将公式放在单元格中,然后自动填充到最后一行,然后复制列和过去的特殊值。我想避免使用select-copy-paste。我想知道是否有人知道怎么做,我以前见过,但现在找不到了 我现在使用的代码 Set frCP = Worksheets("Compliance").Range("P" & FirstRowFill & ":P" & LastRowMatchC) With
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
您应该能够将整个“选择复制粘贴”块替换为:
columns("P:P").value = columns("P:P").value
我正确地阅读了问题,这也应该有效:
frCP.value = frCP.value
只是想澄清一下,你想要公式的结果在
frCP
范围内,而不是公式?@Zac,是的,没错