引用新插入的列Excel VBA

时间:2015-06-15 12:47:29

标签: excel vba excel-vba

我试图引用下面公式中的单元格。 'AUA摘要'!$ D $ 9 。每次宏运行时,插入新列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中的每一个都将位于Cell中。

1 个答案:

答案 0 :(得分:1)

您可以使用Indirect()

例如

'AUA Summary'!$D$9

可以写成

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

这种方式即使列移动,也会引用同一个单元格。

另一种方法是使用Index

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