Excel宏将公式结果写入单元格

时间:2016-12-13 13:54:44

标签: excel excel-vba macros vba

我知道如何在MACRO中为单元格编写公式,但我需要将此公式的输出写入单元格

Rng.Offset(0, 1).Formula = "=CONCATENATE(IF(RC[-1]<>"""",RC[-2]& _ MID(CELL(""filename"",RC),FIND(""]"",CELL(""filename"",RC))+1,256),""""),""_"",RC[-1])"

不使用

Rng.Offset(0, 1).Copy
Rng.Offset(0, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False

1 个答案:

答案 0 :(得分:0)

我总是用当前值覆盖单元格的值,例如:

Rng.Offset(0, 1).Formula = "=CONCATENATE(IF(RC[-1]<>"""",RC[-2]& _
    MID(CELL(""filename"",RC),FIND(""]"",CELL(""filename"",RC))+1,256),""""),""_"",RC[-1])"
Rng.Offset(0, 1).Value = Rng.Offset(0, 1).Value

这将从单元格中删除公式,只需将其替换为公式计算的值。