excel宏从excel表格中获取特定格式的数据

问题描述:

我希望你能帮助我一个可以让我的生活更轻松的宏。excel宏从excel表格中获取特定格式的数据

我有数据格式为:

source table

,并需要有一个宏观改造它在另一张表是这样的:

output table

+0

这个data1是基础量子ty正确吗? –

这里是宏观 -

Sub perform() 
Application.ScreenUpdating = False 

Sheets("Sheet2").Range("A2:D50000").ClearContents 

Dim rowcount, datacount, lastrow As Integer 
rowcount = Sheets("Sheet1").Range("A500000").End(xlUp).Row 
datacount = Sheets("Sheet1").Range(Sheets("Sheet1").Range("H5"), Sheets("Sheet1").Range("H5").End(xlToRight)).Count 

Sheets("Sheet2").[A2] = "Code" 
Sheets("Sheet2").[B2] = "Ref" 
Sheets("Sheet2").[C2] = "Amount" 
Sheets("Sheet2").[D2] = "Quantity" 


For i = 5 To rowcount 

lastrow = Sheets("Sheet2").Range("A500000").End(xlUp).Row + 1 
Sheets("Sheet2").Range("A" & lastrow & ":A" & lastrow + datacount - 1).Value = Sheets("Sheet1").Range("A" & i).Value 
Sheets("Sheet1").Range("H4:L4").Copy 
Sheets("Sheet2").Range("B" & lastrow & ":B" & lastrow + datacount - 1).PasteSpecial Transpose:=True 
Sheets("Sheet1").Range("H" & i & ":L" & i).Copy 
Sheets("Sheet2").Range("C" & lastrow & ":C" & lastrow + datacount - 1).PasteSpecial Transpose:=True 

Sheets("Sheet1").Range("G" & i).Copy Sheets("Sheet2").Range("D" & lastrow) 

Next i 

Application.ScreenUpdating = True 
End Sub