【问题标题】: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)
    

    一般来说,在列名中避免使用 # 等特殊字符可能是个好主意,因为这会使公式非常难以阅读。

    【讨论】:

    • 非常感谢。很快就有很大的帮助。太棒了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多