引用新插入的列Excel VBA

我想在下面的公式中引用一个单元格。 “AUA总结”!$ D $ 9 。 每次macros运行一个新的列D被插入。

问题:列插入时,我的参考移动到** 'AUA Summary'!$E$9. 即使使用VBA插入新单元格,如何引用'AUA Summary'!$D$9 。 我的formuleas在下面。

 =IF(ROUND((SUM('BLL UTADS'!$D:$D)-'AUA Summary'!$D$9)+ (SUM('BLL UTADS'!$E:$E)-'AUA Summary'!$D$15),2)=0,"OK", "Balances don't tie on BLL UTADS to AUA Summary Sheet") =IF((SUM('BLL Prestige'!$D:$D)-'AUA Summary'!$D$10)+ (SUM('BLL Prestige'!$E:$E)-'AUA Summary'!$D$16)=0,"OK", "Balances don't tie on BLL Prestige to AUA Summary Sheet") =IF((ROUND('AUA Detail'!$D$9+'AUA Detail'!$D$23-'AUA Summary'!$D$11,1)+ROUND('AUA Detail'!$D$15+'AUA Detail'!$D$29-'AUA Summary'!$D$17,1))=0,"OK","Check the Totals tie") 

问题在于'AUA Summary'标签上的引用不断变化。 我曾尝试过VBA录音机,但是我一直在听同样的问题。

每个formuleas将在一个单元格中。

你可以使用Indirect()

例如

 'AUA Summary'!$D$9 

可以写成

 INDIRECT("'AUA Summary'!$D$9") 

这样即使列移动,它也会引用同一个单元格。

另一种方法是使用Index

例如Excel 2007+中的D9可以写成INDEX(1:1048576,9,4)INDEX(INDIRECT("1:" & ROWS(A:A)),9,4)适用于任何版本的Excel