首页 > 解决方案 > 如何从工作表中提取公式并在前面添加“=”以运行

问题描述

我正在尝试设置一个日志并使用一个连接公式来组合几列,但每次运行它时我都会得到一个#NA,因为 VBA/Excel 出于某种原因在我的公式中添加了额外的字符。有没有更好的方法来复制和粘贴前面带有“=”的公式?这里的目标是复制并粘贴这些公式作为值,以便之后删除公式。

我尝试选择要开始粘贴的位置,然后通过在其前面添加“=”来执行“activecell.formulaR1C1”,但那是当我出于某种原因在公式中获得额外的'时?

我的方程式:

CONCATENATE('Data'!J2," ",'Data'!K2," From ",'Data'!H2) {this is what is in worksheet("calculation") Cell: C2}

代码:

Worksheets("Calculations").Range("C2").Copy Destination:=Sheets("Log").Range("B2")
    Range("B2").Select
        ActiveCell.FormulaR1C1 = "=" & ActiveCell.Formula

我希望能够将其粘贴为公式,并添加一行以将公式复制并粘贴为 .value

标签: excelvbaconcatenationcopy-paste

解决方案


像这样的东西:

With Sheets("Log").Range("B2")
    Worksheets("Calculations").Range("C2").Copy .Cells(1)
    .Formula = "=" & .Value
End with

如果你真的不需要Copy那么:

Sheets("Log").Range("B2").Formula = "=" & Worksheets("Calculations").Range("C2").Value

推荐阅读