2014-10-01 67 views
0

我試圖將excel中的單元格合併到一個單元格中,然後將其餘單元格移到左側。如何將2個單元格的內容合併爲1並在Excel中移動剩餘的列?

例如:

內容|示例|更多|更多2

所以我想合併「內容」和「樣本」,並將「更多」和「更多2」單元格向左移動,所以結果會是。

內容樣片|更多|更多2

我找到了合併2列的代碼,但它將2列合併爲1,但仍佔用第二列。因此,我必須「取消合併」並刪除第二列,並將「More」和「More2」移到左側。

繼承人的代碼,我有:

Sub MergeOneCell() 
    'Updateby20140128 
    Dim Rng As Range 
    Dim WorkRng As Range 
    Dim Sigh As String 
    On Error Resume Next 
    xTitleId = "KutoolsforExcel" 
    Set WorkRng = Application.Selection 
    Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8) 
    Sigh = Application.InputBox("Symbol merge", xTitleId, ",", Type:=2) 
    xOut = "" 
    Application.DisplayAlerts = False 
    For Each Rng In WorkRng 
    xOut = xOut & Rng.Value & Sigh 
    Next 
    With WorkRng 
    .Merge 
    .Value = VBA.Left(xOut, VBA.Len(xOut) - 1) 
    End With 
    Application.DisplayAlerts = True 
    End Sub 

任何幫助將不勝感激。我有大量的數據需要處理,並能夠做到這一點會節省我的時間。到目前爲止我還沒有找到任何解決方案。

回答

0

爲什麼通過數據不循環,像這樣

'Find the last row of data 
finalRow = cells(65000,1).end(xlup).row 
for i = 1 to finalRow 
    cells(i,1) = cells(i,1) & " " & cells(i,2) 
    cells(i,2) = cells(i,3) 
    cells(i,3) = cells(i,4) 
next i 

這假定Content | Sample | More | More2是在列A,B,C和d和數據開始於行1