【问题标题】:Table formula is not working in Excel VBA 2007 where as it works on 2013表格公式在 Excel VBA 2007 中不起作用,而它在 2013 中起作用
【发布时间】:2018-08-06 21:04:55
【问题描述】:
我创建了一个 VBA 代码,它将一个公式放在格式化表格的末尾。此代码在 2013 年完美运行,但当我将其部署在具有 2007 年的客户端时,它在其中一个公式中抛出错误。公式为:
formula = "=Text([@[SO '#]],""0000000000"")&""|""&[@[Item '#]]"
列名是“SO #”和“Item #” 单撇号用作转义字符。我觉得在 2007 年这种行为有所不同。有人可以建议我快速解决这个问题吗?
【问题讨论】:
标签:
excel
excel-formula
excel-2007
excel-2013
vba
【解决方案1】:
在 Excel 2007 中,@ 符号还不是结构化引用符号的一部分。它改用#This Row。
比较 MS Excel 2010 公式:
=VLOOKUP(Table1[@LoanNumber], Table2[#All], MATCH(Table2[@Column10],Table2[@], 0), FALSE)
MS Excel 2007 公式:
=VLOOKUP(Table1[[#This Row],[LoanNumber]], Table2[#All], MATCH(Table2[[#This Row],[Column10]],Table2[#This Row], 0), FALSE)
一般来说,在列名中避免使用 # 等特殊字符可能是个好主意,因为这会使公式非常难以阅读。