Vba Excel:按列而不是按行合并数据,同时根据需要添加属性

Vba Excel:按列而不是按行合并数据,同时根据需要添加属性,vba,excel,Vba,Excel,我在一个工作簿中的多个工作表中有以下格式的数据: sheet1 Name John Date 2/15/11 sheet2 Name Maria Date 12/5/11 Occ. Student 我需要Excel将这些工作表中的数据“合并”为以下格式: Name John Maria Date 2/15/11 12/5/11 Occ. Student Excel应该从所有工作表中找到所有可能的属性,并将它们放在第

我在一个工作簿中的多个工作表中有以下格式的数据:

sheet1
Name    John
Date    2/15/11

sheet2
Name    Maria
Date    12/5/11
Occ.    Student   
我需要Excel将这些工作表中的数据“合并”为以下格式:

Name    John    Maria
Date    2/15/11 12/5/11
Occ.            Student

Excel应该从所有工作表中找到所有可能的属性,并将它们放在第1列,然后从每个工作表的单独列中为每个工作表复制适当的值。

如果工作表名称中的模式与您的示例类似,您可以使用公式方法

=INDIRECT("Sheet"&COLUMNS($A:A)&"!A1")
公式的“列”部分会增加数字。 如上所述,您可能需要考虑转置数据,因此名称日期和OCC在列中。如果您这样做,请更改为

=INDIRECT("Sheet"&ROWS($1:1)&"!A1")

每张纸上只有一个名字吗?如果没有,那么你能发布任何一张包含多个数据的excel工作表的快照吗?顺便说一句,你可以使用VBA和数组(或者更好,一个字典?但我不确定Issun将如何处理这个问题)来做这样的事情Siddharth,以及其他人,写了很好的代码,所以我毫不怀疑你会得到一个好的解决方案。然而,我必须质疑你的要求。大多数数据库都有一些属性(十个或二十个)和许多人(数百或数千个),并且这些属性位于顶部,每个人一行。我不记得曾经看到过按您要求排列的数据。你确定这就是你想要的吗?