【发布时间】:2017-04-12 16:25:55
【问题描述】:
从 Excel 中的宏插入公式时遇到问题。我设法在公式运行良好的另一个单元格上插入完全相同的值。它总是说#¿NAME?除非我按 F2 并回车。我检查并重新检查了计算模式,不是手动,设置为自动,但这个公式根本不起作用。 SendKeys "{f2}" SendKeys "{enter}" 方法似乎有效,但它很可怕而且不是“无缝”的。
我尝试了不同的公式(从简单到复杂),每次尝试公式中的任何函数都不起作用。我插入工作公式的唯一方法就是使用数字(例如“= 1 + 1”之类的东西),但是当使用任何函数时。 "=SUM(A1:A5)" 只是不起作用(除非按 F2 和 Enter)。
我不明白为什么插入与公式完全相同的“文本”是行不通的。 我该怎么做才能解决这个问题??? 提前感谢
【问题讨论】:
-
展示你的代码总是最好的。
-
这是我的代码: Cells(LastRow + 1, 3).Formula = "=SI.ERROR(BUSCARV(" & "B" & laststr & " , Datos!A2:E52, 3) , """")" 正如我所说,它将文本完美地插入所选单元格,但由于某种原因,Excel 不会“执行”该单元格内的代码,除非按 F2 和 Enter
-
您对放置公式的单元格应用了什么格式,文本?
-
我认为您需要使用 FormulaLocal 来插入依赖于语言环境的公式。
-
FWIW 使用
FormulaLocal使您的 代码 依赖于区域设置,这意味着如果您的任何用户在另一台配置为另一个区域设置的机器上运行宏,他们 将得到#NAME!错误。为避免这种情况,请使用.Formula并在 VBA 中使用英文函数名。这样一来,法国客户将看到=SOMME,英语客户将看到=SUM,而西班牙客户将看到 SUM 公式的西班牙语。 =)