【发布时间】:2014-11-12 19:26:01
【问题描述】:
使用 Excel VBA 宏,我正在构建一个 Excel 表 (listobject),其中包含多个数据列(其中包含值)和一个包含公式的列。这些公式对于每一行都是不同的。这些公式由vba构造并存储在一个数组中,最后只在表格列中放置一次。这是速度问题所必需的。
我的问题是存储在列中的结果公式都是相同的。它们是数组的第一个元素。
注意事项:
- “AutoFillFormulasInLists”设置为 FALSE。
- 如果我尝试存储值而不是公式,则一切正常。
- 如果我尝试执行相同的逻辑但将公式放在一个简单的单元格区域中,一切正常。
这是我用来用公式填充表格列的代码的一个非常简化的示例:
Dim sformulas(1 To 3) As String
sformulas(1) = "=""x"""
sformulas(2) = "=""y"""
sformulas(3) = "=""z"""
ActiveSheet.ListObjects("Table1").ListColumns("ColumnX").DataBodyRange.Formula = Application.Transpose(sformulas)
ColumnX 中的结果公式都是 ="x"
但我希望有 ="x"、="y" 和 ="z"
有没有办法在表格中存储正确的公式?
【问题讨论】:
标签: arrays excel excel-formula vba