【发布时间】: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