2011-11-21 117 views
0

如果這是一個細胞:Excel的VBA創建行

Hello; Goodbye 

..和有數百個細胞,我需要做一個「查找和替換」包含所有細胞的「;」並在該點破壞單元格,並將之後的內容移動到以下新插入的行中:

Hello; 
    Goodbye 

回答

0

未針對速度進行優化,但會爲您執行此操作。如果您認爲這是正確的答案,請確保將其標記爲正確答案。

Dim r1 As Range, r2 As Range 
Dim saItem() As String 


For Each r1 In ActiveSheet.Range("A1", Cells(Application.Rows.Count, 2).End(xlUp)) 
    If InStr(1, r1.Value2, ";") > 0 Then 
     saItem = Split(r1.Value2, ";") 
     r1 = Trim$(saItem(0)) & ";" 
     r1.Offset(1).Insert (xlDown) 
     r1.Offset(1) = Trim$(saItem(1)) 
    End If 
Next r1 

對於添加了一個全新的行,而不是

r1.Offset(1).Insert (xlDown) 

做到這一點(沒有測試過,但我敢肯定它應該正常工作):

r1.Offset(1).EntireRow.Insert (xlDown) 
+0

不幸的是,我很不熟悉VB。我只需要創建一個宏,編輯它並插入此代碼? – captainrad

+0

嘗試http://stackoverflow.com/questions/4930142/free-tutorial-websites-for-vba-version-7-for-office-excel-2007 – Fionnuala

+0

沒關係!得到它了! – captainrad