【发布时间】: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()在这里可能工作得很好。