我有一张主表,格式如下:主表
Column A Column B Column C
No Description Price
以及多张格式如下的表格:
第 1 页
Column A Column B
Row 1 Company Name ABC
Row 2 Delivered to XYZ
Row 3 Description ABCXYZ
Row 4 Delivered date 2014
Row 5 Price $5
第 2 页
Column A Column B
Row 1 Company Name ABC
Row 2 Delivered to XYZ2
Row 3 Description TestDesc
Row 4 Delivered date 2014
Row 5 Price $50
现在,我希望主表自动从表中获取值放入主表中,如下所示:主表
Column A Column B Column C
No Description Price
1 ABCXYZ $5 (value from sheet 1)
2 TestDesc $50 (value from sheet 2)
你能告诉我如何编写 vba 代码来自动执行此更新吗?谢谢
答案1
您无需 VBA 即可完成此操作。您可以对主表 B 列和 C 列中的所有行使用以下公式;
=INDIRECT(" 'sheet " & ROW()-1 & " '! " & " B3 ")
=INDIRECT(" 'sheet " & ROW()-1 & " '! " & " B5 ")
这是假设您的工作表名称为 sheet1、sheet2 等。如果不是这种情况,只需将其替换'sheet " & ROW()-1
为与您的工作表名称匹配的内容即可。为了使其更具动态性,您可以使用以下公式根据主工作表中的标题搜索相应的字段;
=VLOOKUP(B$1, INDIRECT("'sheet"&ROW()-1&"'!"&"A:B"), 2, FALSE)