2016-05-17 25 views
0

您好我想知道是否可以以某種方式從列中取單個文本字並將它們連成一行。這很難描述,但希望我可以提供一個截圖。 enter image description here將列更改爲具有特定Id的行

因此,「內容」這個詞應該被刪除,之後的所有內容都應該放在他們自己的單元格中,並在單元格旁標記id。一列中的wordcount可以從1到100不等。與ID號相同。

提前致謝!

+1

之間「我有什麼」和「我需要什麼」應該是「我的嘗試」。你有什麼機會向我們展示? – Ambie

回答

0

下面的代碼應該實現你給的目標:

Private Sub SortAndSplit() 
Dim docId, docContent, lastRow, docArray, myLoop, myArrayLoop, lastRowList 
Dim wSheet: Set wSheet = ThisWorkbook.Worksheets("Sheet1") 

lastRow = wSheet.Cells(wSheet.Rows.Count, 2).End(xlUp).Row ' Get last row in column 2 (B) 

For myLoop = 2 To lastRow 
    docId = wSheet.Range("A" & myLoop).Value 
    docContent = wSheet.Range("B" & myLoop).Value 
    docArray = Split(Trim(Replace(docContent, "Contents ", "")), ",") 
    For myArrayLoop = 0 To UBound(docArray) 
     lastRowList = wSheet.Cells(wSheet.Rows.Count, 4).End(xlUp).Row + 1 ' Get last row in column 4 (D) and add 1 
     wSheet.Range("D" & lastRowList).Value = docId 
     wSheet.Range("E" & lastRowList).Value = docArray(myArrayLoop) 
    Next 
Next 
End Sub 
相關問題