尝试将公式插入到ActiveCell时出错

我正在写一个小脚本,我想插入一个特定的单元格的function。 我试了下面这段代码:

end_time = ActiveCell.Offset(0, 2).Address time_dif = "=TEXT(" + end_time + "-" + st_time + ";""[ωω]:μμ:δδ"")" found = False Workbooks("Template.xlsx").Worksheets(1).Range(ActiveCell.Offset(0, 3).Address).Select 'Var = ActiveCell.formula ActiveCell.formula = time_dif 'Var 

上面的代码中的最后一行是抛出一个错误:“应用程序定义的或对象定义的错误”

time_difvariables包含以下string:

“= TEXT($ H $ 19- $ H $ 13,”[ωω]:μμ:δδ “)”

如在局部variables窗口中看到的那样

我已经尝试了许多不同的方式来使它工作,但不幸的是所有的失败。

它的实际工作是把完全相同的公式放在另一个单元格中。 暂停执行,用公式激活单元格。 将公式放入variablesVar中,然后将活动单元移动到正确位置,并在其中插入variablesVar值。

 Var = ActiveCell.formula 'Break point here / Run one step to take formula ActiveCell.formula = Var 'Move to correct cell manually / Continue execution 

我尝试的另一件事是从公式中删除“=”,它将公式正确地作为string放在单元格中。

任何build议或想法?

VBE使用英语句法。
尝试使用一个子获得英语语法,例如:

 Sub ert() InputBox Prompt:=" ", Default:=Selection.Formula End Sub 

正确的答案是这样的

 "=TEXT(" + end_time + "-" + st_time + ",""[ωω]:μμ:δδ"")" 

用“ ”replace“ ; ”。

你有没有尝试ActiveCell.FormulaR1C1

在这里,你可能会改变,以包括stringChr(34) ,在你的string,但因为它似乎正确显示,我不认为这是问题…

 "=TEXT(" & end_time & "-" & st_time & ";" & Chr(34) & "[hh]:mm:ss" & Chr(34) & ")"