【问题标题】:Why can't I write a formula with VBA? [closed]为什么我不能用 VBA 编写公式? [关闭]
【发布时间】:2019-01-28 20:53:22
【问题描述】:

我试过写这个 Excel 公式:

 ="Range: ( "&FIXED(MIN('Group2'!$K$10:$K$595);2)&" - "&FIXED(MAX('Group2'!$K$10:$K$595);2)&" )"

它运行良好,但是当我尝试使用 VBA 宏编写它时,我在网上找不到任何东西。例如,我尝试过使用双引号:

Range("D4").formula = "= ""Range: ( "" & FIXED(MIN('Group2'!$K$10:$K$595);2) & "" - "" & FIXED(MAX('Group2'!$K$10:$K$595);2) & "" )"""

我想要它,这样我就可以更改将它作为变量传递的范围。

【问题讨论】:

  • 在运行那行代码后查看单元格D4 会发生什么?您遇到了什么问题?
  • 我觉得没问题。我想知道的唯一想法(而且我不确定)是 VBA 是否适合国际化。同样,我完全不确定这与它有什么关系,但也许可以尝试将这些分号切换为逗号,看看它是否让人开心。如果这行得通,我会感到惊讶,但我觉得值得一试。
  • 还有。你只说Range("D4").Formula,但你没有说哪张纸。也许这个公式正在被写到你不希望它被写入的工作表中。取而代之的是Sheet1.Range("D4").Formula()。不过,对于@JohnBus​​tos 而言,尚不清楚您是否遇到错误,或者正在编写的公式不正确,或者您只是在运行代码后没有找到它。

标签: string vba excel excel-formula


【解决方案1】:

JNevill你是对的问题是;应该是,

我得到的错误信息是这样的:

.

如果有人需要使用它,传递一个变量(命名数据)将是:

Range("D4").Formula = "= ""Range: ( "" & FIXED(MIN(" + data + "),2) & "" - "" & FIXED(MAX(" + data + "),2) & "" )"""

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-10
    • 2023-04-08
    • 1970-01-01
    • 2014-11-06
    • 1970-01-01
    • 2022-01-05
    • 1970-01-01
    • 2018-06-05
    相关资源
    最近更新 更多