我使用下面的代碼宏在Excel 2013工作得很好,但不是在2007年
Range("AI2").Select ActiveCell.FormulaR1C1 = "=SUM(Table3[@[Column3]:[Column" & v & "]])"
它的工作罰款在我的系統。但是,當我嘗試在我的公司的系統上運行它,它具有excel 2007,它給出了運行時錯誤。
我使用下面的代碼宏在Excel 2013工作得很好,但不是在2007年
Range("AI2").Select ActiveCell.FormulaR1C1 = "=SUM(Table3[@[Column3]:[Column" & v & "]])"
它的工作罰款在我的系統。但是,當我嘗試在我的公司的系統上運行它,它具有excel 2007,它給出了運行時錯誤。
請嘗試爲Excel 2007
Range("AI2").Select
ActiveCell.FormulaR1C1 = "=SUM(Table3[[#This Row],[Column3]]:[Column" & v & "]])"
以下的@
語法只是introduced in Excel 2010,因此Excel 2007中不理解。在另一方面,[#This Row]
語法在Excel 2010中棄用,並得到automatically replaced in multi -line tables:
#This Row
或@
或@[Column Name]
就在細胞中的同一行配方食品中。這些說明符不能與任何其他特殊項目說明符結合使用。使用它們強制引用的隱式相交行爲或重寫隱式相交行爲並引用列中的單個值。
Excel自動將
#This Row
指定符更改爲具有多行數據的表中較短的@
說明符。但是,如果您的表格只有一行,則Excel不會替換#This Row
說明符,這可能會在添加更多行時導致意外的計算結果。爲避免計算問題,請確保在輸入任何結構化參考公式之前在表格中輸入多行。
您可能應該使用舊式=SUM(A2:C2)
樣式引用使其在多個版本的Excel中兼容。
要引用「本文中的所有示例都適用於Excel 2010及更高版本,在Excel 2010中使用結構化引用與Excel 2007-Excel 2007之間存在細微的差別,本文不討論這些內容。參考單元的傳統方法(即A1,A2,B1:B100,A2:D100等)被稱爲標準參考。「 [參考在這裏](http://peltiertech.com/structured-referencing-excel-tables/)。也許這就是宏在2013年的Excel中運行良好,但在2007年沒有運行的原因。我最近沒有使用這些引用。 – skkakkar
另一個有用的鏈接[在Excel表格中使用結構化引用 應用於:Excel 2007](https://support.office.com/zh-cn/article/Using-structured-references-with-Excel-tables-f5ed2452-2337 -4f71-bed3-c8ae6d2b276e) – skkakkar
2007年語法差異的一個示例〜[#This Row]〜在Excel 2010中〜〜〜 – skkakkar