将列从一个Excel工作表复制到另一个工作表,从中跳过列

时间:2012-03-07 16:18:03

标签: excel vba excel-vba excel-2007

  

可能重复:
  Copy column from one Excel sheet to another Excel sheet

我的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 :(得分:2)

Nupur

这是非VBA方式。

假设您的主数据位于名为Master的工作表上,且数据位于A1:H9范围内。现在假设我Sheet1列出了A2:A5范围内的ID列表。

 1   ID    Name    Type    Question1    Type3    Type4
 2   475
 3   479
 4   501
 5   503

然后在Sheet1单元格B2中,我有以下内容为Name检索ID=475

=VLOOKUP($A2,Master!$A$2:$H$9,2,0) //returns f1

Type获取ID=475我使用:

=VLOOKUP($A2,Master!$A$2:$H$9,3,0) //returns adm1

我正在做的是在Master上设置对数据表的引用(注意带有$符号的绝对引用),使用ID作为查找值,然后更改列值(VLOOKUP中的第3个输入)审视相关价值。

为第一行设置完成后,您可以直接复制并填充正确的数据。

这是否解决了这个问题?