VBA-重新排列新工作表中的数据
我是VBA新手,无法找到一个线程来回答这个问题。如果重复,请道歉 我在Excel文件中有两张工作表,分别称为“sheet1”和“sheet2”。“sheet1”有50000多行,如下所示:(如果按“用户名”排序,则为“问题”) 也就是说,每行都有一个唯一的问题和用户名组合。请注意,用户名基本上是“Mr_”后面的随机数,问题编号也是任意的。“答案”列只包含整数。不同的用户名有不同数量的问题。我想做的是创建一个电子表格,看起来像下面的“sheet2”中的表格: 也就是说,我想把每个用户名放在自己的行中,对于用户名没有回答的任何问题,都用空格表示VBA-重新排列新工作表中的数据,vba,excel,Vba,Excel,我是VBA新手,无法找到一个线程来回答这个问题。如果重复,请道歉 我在Excel文件中有两张工作表,分别称为“sheet1”和“sheet2”。“sheet1”有50000多行,如下所示:(如果按“用户名”排序,则为“问题”) 也就是说,每行都有一个唯一的问题和用户名组合。请注意,用户名基本上是“Mr_”后面的随机数,问题编号也是任意的。“答案”列只包含整数。不同的用户名有不同数量的问题。我想做的是创建一个电子表格,看起来像下面的“sheet2”中的表格: 也就是说,我想把每个用户名放在自己的行
任何建议的代码都将非常感谢。如果您不需要特别的VBA,那么答案可能非常简单。Pivot表可以为您提供所需的确切数据。你应该:
- 选择表1中的所有数据
- 选择插入->透视表
- 将
字段放置在行标签区域中username
- 将
放入列标签区域问题
- 将
放入值区域答案
username |question |answer | ...many other columns...
Mr_1754 |Q10 |56 |
Mr_1754 |Q18 |32 |
Mr_1754 |Q56 |42 |
Mr_9564 |Q10 |1 |
Mr_9564 |Q22 |564 |
...
username |Q10 |Q18 |Q22 |Q56 | ...as many columns as there are questions...
Mr_1754 |56 |32 | |42 |
Mr_9564 |1 | |564 | |
...As many rows as there are usernames...