2011-08-30 21 views
0

我需要一個將Excel電子表格的前3行連接在一起的宏,然後用該新行替換原來的3行。VBA需要一個連接excel電子表格的前3行的宏

例如:

|  This  | 
|is  | an | 
|example|  | 

將成爲

|This_is_example|This_an| 

建議?

+0

例子應該是這個樣子 http://s119.photobucket.com/albums/o129/qckslvr688/?action=view¤t=picturetoshow.png – QuestionAsker

+0

有你試圖錄制一個宏? – Fionnuala

+0

在合併單元格中是「這個」嗎?目前尚不清楚(例如,可能是「以選擇爲中心」) –

回答

2

假設你已經合併單元格:

Sub Tester() 

    Dim c As Range, rngMerge As Range 

    For Each c In ActiveSheet.Range("A1").Resize(1, 100).Cells 
     Set rngMerge = c.MergeArea 
     If rngMerge.Cells.Count > 1 Then 
      c.UnMerge 
      rngMerge.Value = rngMerge.Cells(1).Value 
     End If 
     c.Value = JoinUp(c.Resize(3, 1), "_") 
    Next c 
    ActiveSheet.Range("A2:A3").EntireRow.Delete 
End Sub 


Function JoinUp(rng As Range, Optional Delim As String = "") As String 
    Dim c As Range, rv As String 
    For Each c In rng.Cells 
     If Len(c.Value) > 0 Then 
      rv = rv & IIf(Len(rv) > 0, Delim, "") & c.Value 
     End If 
    Next c 
    JoinUp = rv 
End Function 
相關問題