2015-12-29 44 views
0

我在Excel中的一個片材3列中,如下Excel中 - 複製列行

RAW DATA

我需要另頁

OUTPUT
在下面的格式輸出

我很好用VB腳本或只使用Excel功能。我能請你幫忙嗎?

+0

這是一次性的事情,還是您需要對多個工作表重複執行? – itsols

+0

你好IT - 我需要在新的一年裏多次這樣做。所以一個公式/ VB程序會很棒。話雖如此,如果寫一篇文章比較複雜,如果你能指導一下,很樂意遵循另一種方法。 – usert4jju7

+0

什麼是您的Excel版本? – itsols

回答

1

試試這個宏。將宏放入常規代碼模塊(插入>模塊)。調整範圍以適應您的情況。

Sub rearrange() 
Dim cel As Range, tgt As Range 

Set cel = ActiveSheet.Range("A1") 
Set tgt = ActiveSheet.Range("D1") 
Do While Len(cel) > 0 
    tgt = cel 
    tgt.Offset(1, 0) = cel.Offset(0, 1) & cel.Offset(0, 2) 
    Set cel = cel.Offset(1, 0) 
    Set tgt = tgt.Offset(2, 0) 
Loop 
ActiveSheet.Range("A:C").Delete 

End Sub 
0

如果你不打算經常這樣做,這是一個簡單的解決方案。

我無權訪問MS-Excel,因此我無法給出確切的答案。但我希望這有助於。

步驟:

  1. 添加一個新列與串連功能表,例如權,合併單元格B1和C1,使用=Concatenate(b1,c1)並保持這一結果在單元格D1。爲其他行做一個複製粘貼。
  2. 將您的選擇複製到您想要結果的新工作表。
  3. 使用粘貼特殊只粘貼沒有論壇的複製單元格的值。這確保它不會引用原始單元格或相對更改。
  4. 使用轉置功能可以在粘貼數據時更改最終輸出的結果內容。類似的一個here

如果您需要定期執行此操作,則此方法不適用。用VBA腳本你會更好。但是,自從我使用Excel以來,這已經很長時間了,所以我無法幫助您。

+0

移調不會達到OP的效果。另外,Concatenate()不需要組合文本。 &符號要短得多。 – teylyn

+0

謝謝。欣賞你的時間,努力和幫助的意願。 – usert4jju7