0
如果这是一个细胞:Excel的VBA创建行
Hello; Goodbye
..和有数百个细胞,我需要做一个“查找和替换”包含所有细胞的“;”并在该点破坏单元格,并将之后的内容移动到以下新插入的行中:
Hello;
Goodbye
如果这是一个细胞:Excel的VBA创建行
Hello; Goodbye
..和有数百个细胞,我需要做一个“查找和替换”包含所有细胞的“;”并在该点破坏单元格,并将之后的内容移动到以下新插入的行中:
Hello;
Goodbye
未针对速度进行优化,但会为您执行此操作。如果您认为这是正确的答案,请确保将其标记为正确答案。
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)
不幸的是,我很不熟悉VB。我只需要创建一个宏,编辑它并插入此代码? – captainrad
尝试http://stackoverflow.com/questions/4930142/free-tutorial-websites-for-vba-version-7-for-office-excel-2007 – Fionnuala
没关系!得到它了! – captainrad