You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Excel单元格区域的公式存入Variant数组并回写?

解决VBA中ListObject数据存入数组并保留公式回写的问题

要保留单元格的公式,只需将代码中的Value2属性替换为Formula属性即可——Formula会同时存储单元格的公式(若单元格包含公式)和常量值,回写时就能完整还原原内容。

修改后的代码示例:

Dim arr As Variant
Dim r As Range
Set r = ActiveSheet.ListObjects(1).DataBodyRange
arr = r.Formula
r.Formula = arr

补充说明:

  • 如果需要适配本地语言的公式(比如中文环境下的函数名),可以改用FormulaLocal属性替代Formula
  • 若习惯使用R1C1格式的公式,可使用FormulaR1C1属性
  • 为避免DataBodyRange为空时触发错误,建议增加非空判断:
Dim arr As Variant
Dim r As Range
Set r = ActiveSheet.ListObjects(1).DataBodyRange
If Not r Is Nothing Then
    arr = r.Formula
    r.Formula = arr
End If

内容的提问来源于stack exchange,提问作者71GA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 16:15:30