【发布时间】:2015-02-12 20:21:58
【问题描述】:
Excel 2010
我想将以下数据从垂直状态移动到水平数据。我想要一个 VBA 的解决方案。 (我已经有公式了)。
订单 = (A10) 结果 = (B10) 超过 1000 行
| Order1 | result
| line1 | result 1
| line2 | result 1
| line3 | result 1
| line4 | result 1
| line5 | result 1
| line6 | result 1
| line7 | result 1
| line8 | result 1
| br |
| Order2 | result
| line1 | result 1
| line2 | result 1
| line3 | result 1
| line4 | result 1
| line5 | result 1
| line6 | result 1
| line7 | result 1
| line8 | result 1
我希望它解析为:
Order 1 | result1 | result2 | result3 | result4 | result5 | result6 | result7 | result8 |
Order 2 | result1 | result2 | result3 | result4 | result5 | result6 | result7 | result8 |
提前致谢
编辑
我现在的公式是这样的:
(C10)=IF(A3="Order1 ",1,0)(结果:1)
(D10)=IF($C3=1,B3,0)(结果:来自第 1 行的结果)
(E10)=IF($C3=1,B10,0)(结果:来自第 2 行的结果)
等等。
然后我复制并自动填充整张数据表,然后它全部填满。 我用这种方式构建新表。
当我进行宏记录时,它不会记录单元格中的实际公式。
【问题讨论】:
-
大多数转置答案将两列解析为单行。我需要从枢轴(即 Order1)中取出它,然后只将结果移动到它们的新列中。正如我所指出的,我确实有一个公式可以做到这一点,但是我希望在 VBA 中使用它。我已经看了好几天了。
-
Excel 可以使用“复制”和“特殊粘贴...”来转置表格。这两个命令也应该在 VBA 中可用
标签: vba excel excel-2010