【问题标题】:Copy formula in a cell在单元格中复制公式
【发布时间】:2021-11-30 21:20:36
【问题描述】:

在工作表中,我引用了另一个工作表上的公式(在单元格 K2 中)。但是,如果在第一张表中删除了整行,则第二张表中的公式会给出 #REF!。

因此,我在另一个单元格(在单元格 K4)中键入了公式的文本(没有“=”符号)。我想通过复制K4中的文本并将其粘贴到K2中来恢复K2中的公式。

此代码返回

运行时错误 1004:应用程序定义或对象定义错误

上线Sheets("StdLine").Range("K2").Formula = stdformula

公式为:

CONCATENATE(RAL!B2;IF(RAL!C2="";"";"|"&RAL!C2);": P"&MONTH(RAL!A2)&"/"&RIGHT(YEAR(RAL!A2);2);"-R"&MONTH(RAL!I2)&"/"&RIGHT(YEAR(RAL!I2);2);":";IF(RAL!D2="";"";" "&RAL!D2);IF(RAL!E2="";"";" ("&RAL!E2&")");": F"&ROUND(RAL!G2;2)&RAL!F2;" > iP"&IF(RAL!F2="d";ROUND(RAL!G2/7,2*8;2)&"d = "&ROUND(RAL!G2*8;2)&"h";ROUND(RAL!G2;2)&"h");TEXT(I2;" (dd/mm/jjjj uu:mm:ss)"))

这是我的代码的一部分:

Sub Worksheet_Change(ByVal Target As Range)

    If Target.Address = Target.EntireRow.Address Then
        stdformula = "=" & Sheets("StdLine").Range("K4")
        Sheets("StdLine").Range("K2").Formula = stdformula
        Application.CutCopyMode = False
        Exit Sub
    End If

End Sub

【问题讨论】:

  • 您需要将.FormulaLocal 用于本地化公式(其他语言或其他分隔符),而不是.Formula(仅使用逗号作为分隔符的标准英文公式除外)。
  • 这很好用。谢谢PEH。

标签: excel vba excel-formula


【解决方案1】:

您需要将.FormulaLocal 用于本地化公式(其他语言或其他分隔符),而不是.Formula(仅使用逗号作为分隔符的标准英文公式除外)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-19
    • 1970-01-01
    • 2018-05-16
    相关资源
    最近更新 更多