我正在尝试选择唯一的行并将它们的值复制为差异表中的转置。
我的意思是让VBA代码动态化。
这是一个例子
Raw Excel
x 1
x 2
x 3
y 4
y 5
z 6
Desired output
x y z
1 4 6
2 5
3
答案 0 :(得分:1)
试试这个
Sub a()
DataRow = 1
DataCol = 1
OutputRow = 1
OutputCol = 4
Application.ScreenUpdating = False
OutputCol = OutputCol - 1
While Cells(DataRow, DataCol).Value <> 0
Cells(DataRow, DataCol).Select
ThisValue = Cells(DataRow, DataCol).Value
If ThisValue <> PrevValue Then
OutputCol = OutputCol + 1
MyRow = OutputRow
Cells(MyRow, OutputCol).Value = Cells(DataRow, DataCol).Value
MyRow = OutputRow + 1
End If
Cells(MyRow, OutputCol).Value = Cells(DataRow, DataCol + 1).Value
PrevValue = ThisValue
DataRow = DataRow + 1
MyRow = MyRow + 1
Wend
Application.ScreenUpdating = True
End Sub