代码之家  ›  专栏  ›  技术社区  ›  ilya n.

range.formula=在VBA中引发一个奇怪的错误

  •  1
  • ilya n.  · 技术社区  · 15 年前

    除了VBA代码

    summ = "СУММ(AQ" + Format(first) + ":AX" + Format(last - 1) + ")"
    cell = "AQ" + Format(last) + ":AX" + Format(last)
    r.range(cell).Formula = "=" + summ 
    

    应插入公式,例如 =СУММ(DW6:EI18) 进入之内 DW19 .

    ( СУММ 是的俄语本地化名称 SUM )

    发生的是上面正确的公式出现在其正确的位置,但显示 #NAME 错误。如果选择单元格,将光标放在公式上,然后按Enter键,公式不会更改,但会开始工作。

    如何使上面的代码工作?

    4 回复  |  直到 13 年前
        1
  •  6
  •   marg    15 年前

    您需要设置formulalocal而不是formula,因为您使用的是俄语函数名。

    r.range(cell).FormulaLocal = "=" + summ

        2
  •  3
  •   Jonathan Largo    13 年前

    我也有同样的问题,但是有其他功能。

    我解决了用英语命名所有函数的问题。我的意思是,函数o-->或者,函数si-->if等等。

    我是西班牙文版的。

    我希望我的回答有用。

        3
  •  0
  •   Anonymous Type    15 年前

    我认为这是来自marg(第一个答案)的公式化局部答案,即使OP没有标记它。 公式本身没有问题。

        4
  •  -1
  •   guitarthrower    15 年前

    试试这个

    summ = "=СУММ(AQ" + Format(first) + ":AX" + Format(last - 1) + ")"
    cell = "AQ" + Format(last) + ":AX" + Format(last)
    r.range(cell).Formula = summ