2012-03-07 197 views
0
之间

可能重复跳过列:
Copy column from one Excel sheet to another Excel sheet复制列从一个Excel工作表到另一个,在

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

我想要做的是:

如果ID在主片Sheet 1中= 24356 = ID然后从主片复制X,Y,Z的列到Sheet。这对所有其他工作表都是一样的。

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

任何人都可以请告诉我这个VBA代码。

这是我的主表如下:

enter image description here

我想另一片(如表Sheet1)在这种情况下看起来像:

enter image description here

此外,虽然搜索主表单,代码是否可以查看表单的最后一列?

+0

我想你可以使用'VLOOKUP'和ID来得到你需要的结果。不需要VBA。 – 2012-03-07 19:59:20

+0

@Remnant:我尝试使用这一点,但它的给我“类型不匹配的错误” 子数据() 昏暗结果作为字符串 昏暗片作为工作表 昏暗Sheet 1中作为工作表 设置片= ActiveWorkbook.Sheets(“FMed “) Set sheet1 = ActiveWorkbook.Sheets(”Workingtest“) result = Application.WorksheetFunction.VLookup(sheet.Range(”C:C“),sheet1.Range(”A:D“),1,False) End Sub – Nupur 2012-03-07 20:04:49

+0

@Remnant:有超过10,000个ID。这会非常耗时地在每个单元格中输入vlookup。另外,我尝试了vlookup,它正在做的是将colA复制到colA,ColB到ColB etcc。正如在上面的问题,两个Excel表单具有相同的列标题,但他们在不同的列。我不知道如何解决在vlookup或VBA? – Nupur 2012-03-07 20:07:54

回答

2

Nupur

这里是非VBA的方式。

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

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

然后在细胞B2Sheet1我有以下的检索NameID=475

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

要为ID=475获得Type我用:

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

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

一旦你设置好了第一行,你就可以复制下来并获得正确的数据。

这是否解决了这个问题?

+0

@ Remnant:感谢您的回复 – Nupur 2012-03-09 17:22:40

+0

+1对于非VBA方法:) – 2012-03-11 11:04:06

相关问题