将列从一个Excel工作表复制到另一个具有不同格式的工作表

时间:2012-03-02 16:55:33

标签: excel vba

我的Excel文件中有5张。在这5个中,一个是主表,其中包含我要复制到其他4个表的所有数据。 所有工作表都有一个共同的列ID。主人有超过10000个ID。

我想做的是:

如果sheet1中的ID = 24356 =主工作表中的ID,则将x,y,z列从主工作表复制到sheet1。所有其他表格都是如此。

此外,由于母纸来自其他纸张以外的其他来源,因此其格式不同。有没有办法在运行复制/粘贴之前删除工作表中的所有格式?

任何人都可以告诉我VBA代码来执行此操作。

这是我的主表格的样子: enter image description here 我想在这种情况下的另一张纸(例如sheet1)看起来像: enter image description here

是否可以在不在每个单元格中输入查找公式的情况下执行此操作?

1 个答案:

答案 0 :(得分:0)

如果我理解正确,我认为你实际上不需要为此使用宏。 假设您的MasterSheet类似于:

enter image description here

并且您的各种工作表在A列中都有ID:

enter image description here

你可以把它放在B1:

=IF(ISNA(VLOOKUP($A1,MasterSheet!$A:$D,2,FALSE)),"",VLOOKUP($A1,MasterSheet!$A:$D,2,FALSE))

然后只需为每个其他列增加VLOOKUP的返回列:

=IF(ISNA(VLOOKUP($A1,MasterSheet!$A:$D,**3**,FALSE)),"",VLOOKUP($A1,MasterSheet!$A:$D,**3**,FALSE))

结果:

enter image description here

您应该使用更好/更快的公式进行查找,以查看ID是否存在(如匹配)......

希望这有帮助。

干杯,