macros查找一个值

我正在使用这个公式在我的表中查找一个值

=IF($A$1=1;VLOOKUP(B3;data_1;4);IF($A$1=2;VLOOKUP(B3;data_2;4);IF($A$1=3;VLOOKUP(B3;data_3;4);""))) 

我的问题是代码存在很多范围内,那从B3:B25我们可以在12页中见到,可以说(Sheet A,Sheet B,Sheet C等),而且使得文件看起来大而慢。 有没有什么解决scheme,我通过使用macrosVBA代码简化? 我希望在这里得到解决办法,谢谢。