vba - 从单元格中取回公式 - VBA

标签 vba excel excel-formula

我正在编写一个 VBA 代码,其中我需要在一个工作表中引用另一个工作表中的公式 例如:在单元格 (1,3) 的工作表 A 中,有一个公式

"=R[-1]C*R[-2]C"

我想在单元格 (1, 3) 的工作表 B 中放入公式

"=A!R[-1]C*A!R[-2]C"

我只想将公式保存在字符串中 -

"=R[-1]C*R[-2]C"

并手动进行我需要的调整。

所以我的问题是:

  • 如何获取单元格中的公式?当我写 "temp=worksheets("A").cells(1,3)",
    我从单元格中取回值,而不是公式...

最佳答案

您可以使用以下方法获取(并设置)单元格(本例中为 A1)中的公式:

Range("A1").Formula

(详见 here)。

这只是作为字符串返回,因此您可以使用常规 VBA 字符串函数(如 leftrightmid , instr 等等。

根据链接页面,为常数单元格返回的公式只是常数本身,空白单元格返回""

您可以使用该信息来确定它是否实际上公式化。

关于vba - 从单元格中取回公式 - VBA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27899507/

相关文章:

vba - 对数组值应用动态定义的聚合函数

python - 如何在 Linux 中使用 python 打开/读取受密码保护的 xls 或 xlsx (Excel) 文件?

windows - 使用批处理文件在单独的实例中打开多个 Excel 文件

arrays - Excel公式: counting array elements with a criteria

excel - 复制公式的简单方法将源行扩展1?

arrays - 如何在vb6中声明一个用户定义类型的数组

excel - 如何将事件 Excel 工作簿附加到电子邮件

vba - 如何在Excel中匹配多列并获取值

Excel VBA用户表单列表框动态上下文菜单使用.OnAction方法

用于生成模式的 Excel 公式