2017-06-12 73 views
-1

我被告知宏可能是我能解決這個問題的唯一方法,我對vba或excel宏一點都不熟悉。在此先感謝您的幫助..Excel宏移動列數據

我在那裏,我從一個系統這樣的電子表格

1 E111 Project Location Department Company  
2 E222 Project Location Department Company  
3 E333 Project Location Department Company 

接收數據的情況下,我需要這樣的一個排它顯示爲每個機構類型以及要加載到另一個系統中的行標識符。

1 Project  
1 Location  
1 Dept  
2 Project  
2 Location  
2 Dept  
3 Project  
3 Location  
3 Dept 
+4

但問題是什麼? – YowE3K

回答

1

如果你想轉的數據按你的邏輯,試試這個:

Sub TransposeColumns() 

    Dim srcwsh As Worksheet, dstwsh As Worksheet 
    Dim i As Integer, j As Integer 

    Set srcwsh = ThisWorkbook.Worksheets("Sheet1") 
    Set dstwsh = ThisWorkbook.Worksheets("Sheet2") 

    'define initial rows 
    i = 2 'source worksheet 
    j = 2 'destination worksheet 
    Do While srcwsh.Range("A" & i) <> "" 
     srcwsh.Range("A" & i).Copy dstwsh.Range("A" & j & ":A" & j + 2) 
     srcwsh.Range("C" & i & ":E" & i).Copy 
     dstwsh.Range("B" & j).PasteSpecial xlPasteValues, xlPasteSpecialOperationNone, False, True 
     j = j + 3 
     i = i + 1 
    Loop 
    Set dstwsh = Nothing 
    Set srcwsh = Nothing 

End Sub 

您必須更改代碼以您的需求。

+0

最終將工作表設置爲無關緊要的是什麼?這是否會帶來一些好處? – BerticusMaximus

+0

@BerticusMaximus,這是最佳實踐之一,它用於「釋放資源」。 –

+0

Worked喜歡一種魅力 - 正是我所需要的 - 非常感謝 –