【问题标题】:Excel VBA setting Formula of range makes functions lowercaseExcel VBA设置范围公式使函数小写
【发布时间】:2016-01-26 19:37:04
【问题描述】:

我正在尝试让 VBA 将一系列单元格设置为一个非常简单的公式:

Worksheets(newESheetName).Range("C3:C" & numItems + 2).Formula = "=LIGNE(C3)-2"

原谅LINE函数的法文翻译...

当我运行代码时,每行(例如 3)的结果是:

=ligne(c3)-2

公式变成小写的地方。 Excel 不理解小写函数,所以我的专栏全是#NAME?。我已经尝试明确地将UCASE 放在字符串周围,但它仍然以小写字母结尾。彻底糊涂了!

【问题讨论】:

  • 如果不使用 vba 将 "=LIGNE(C3)-2" 放入单元格会发生什么? Excel 可以很好地处理小写函数(我测试过将“=sum(1,2,3)”放入单元格中,它工作得非常好,但是,我找不到您所指的“LINE/LIGNE”函数。
  • 另外,正如所写,您的公式具有循环引用......您正试图将使用单元格 C3 的值的公式放入单元格 C3 中。即使你描述的函数存在,你也会得到一个循环引用错误。
  • @OpiesDad 循环引用在这种情况下没有位置。 LIGNE函数,英文为ROW,不依赖单元格值。
  • @EganWolf 很好。错误地假设 Excel 可能有外语版本,并且 OP 已翻译成 Excel 语言。事后看来,这些都是相当愚蠢的。
  • 无法测试,因为我的系统是英文的 - 但Evaluate() 在这里可能工作得很好。

标签: vba excel


【解决方案1】:

在 VBA 中,使用您的函数的英文名称。在这种情况下,它是ROW

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多