2017-02-15 150 views

回答

0

这里是宏观 -

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 
相关问题