【问题标题】:Excel 2010 VBA "=IFERROR..."Excel 2010 VBA“=IFERROR...”
【发布时间】:2013-10-17 14:17:27
【问题描述】:

我正在使用 VBA 在我的本地数据库中引入有关某些条件的公式。这是我正在使用的代码示例:

Range("CP" & l).Formula = "=IFERROR(((T" & l & "*6)-SUM(U" & l & ":Z" & l & "))/(T" & l & "*6);"""")"

“l”是我的第一个空白行(它正在工作)

公式运行良好,但我遇到的问题是代码仅返回单元格中结果的值,但我想在单元格中查看整个公式。

这是可以做到的吗?

* 真正的问题是公式不在公式栏中。守则写分数,但不写公式。如果我用

做一个测试
Range("CP" & l).Formula = "=((T" & l & "*6)-SUM(U" & l & ":Z" & l & "))/(T" & l & "*6)"

我在公式栏中看到公式。

我真的不明白...

谢谢:)

玛丽

【问题讨论】:

  • 如果选择单元格,在公式栏中看不到公式吗?您是否只想显示公式,而不是其计算结果?
  • 在编辑帖子之前,等号前有一个额外的空格:" =IFERROR( 这将输出文本而不是实际公式。
  • 尝试基于this做一些逆向工程
  • 嗨! David Zemens 写道:“如果您选择单元格,您在公式栏中看不到公式吗?”我在公式栏中没有看到公式,这正是我的问题!再次感谢您的帮助:)
  • 我想不出公式为什么不会出现在公式栏中的任何原因,除非您有另一部分代码用.Value 替换评估。我看到 Sid 正在和你一起排除故障,所以我将把它留给他。

标签: excel vba


【解决方案1】:

但我想在我的单元格中查看整个公式。

要在单元格中显示公式而不是值,您有 3 个选项

  1. 将单元格格式化为文本,然后使用您拥有的代码。

    Range("CP" & l).Formula = "=IFERROR(((T" & l & "*6)-SUM(U" & l & ":Z" & l & "))/(T" & l & "*6);"""")"

  2. .Formula 更改为.Value 并在= 符号前添加'

    Range("CP" & l).Value = "'=IFERROR(((T" & l & "*6)-SUM(U" & l & ":Z" & l & "))/(T" & l & "*6);"""")"

  3. 激活选项File Tab | Options | Advanced | "Show Formulas in cells instead...."

【讨论】:

  • 这是可行的,但我相信我没有给你正确的信息。我想看看结果,但我也想把公式放在单元格中。
  • 当您在单元格中输入公式时,您会看到结果。如果您想查看公式,可以在公式栏中查看。
  • 不可能...你能水平展开公式栏吗?
  • 编辑栏中的是什么?也许其他一些代码行正在用其.Value 覆盖单元格?
  • @Marie-AndréeMorin:就像我说的,我可以看看文件吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-10
  • 2014-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-19
相关资源
最近更新 更多