【发布时间】:2017-03-04 01:02:11
【问题描述】:
我正在尝试使用 vba 将公式插入到工作表上的单元格中。我相信可以使用下面的公式来完成,但不幸的是我不知道如何修复下面的语法。
我的 FormulaLocal 语法有什么问题?
奇怪的是,使用 R.Formula,它可以工作,但是单元格得到错误 #NAME
Sub InsertIFERROR()
Dim R As Range
Set R = Application.InputBox("Select a range", "Get Range", Type:=8)
R.Select
For Each R In Selection.SpecialCells(xlCellTypeFormulas)
R.FormulaLocal = "=SEERRO(" & Mid(R.FormulaLocal, 2) & ",""-"")"
Next R
End Sub
【问题讨论】:
-
如果您看到的错误确实是
#NAME,您的Excel 可能不是葡萄牙语,此时您不能在FormulaLocal中指定葡萄牙语函数名称。为什么还要useFormulaLocal? -
debug.print Mid(R.FormulaLocal, 2)看看它是否返回你认为应该的结果 -
PT-BR 不使用
;代替,吗?检查列表分隔符的原始公式或系统的区域设置。 -
也许你实际上有 PT-PT,而不是 PT-BR。在这种情况下,请使用
SE.ERRO和;而不是SEERRO和,。 -
我认为这可以作为一个无法复制的印刷错误合理地关闭,然后决定该错误可能比立即明显的更常见。我在下面发布了答案并编辑了问题,以便标题反映问题。