【发布时间】:2014-07-31 09:59:52
【问题描述】:
这是我的代码:
Sub fillcells()
Dim rngA As Range
Dim arrayFinal As Variant
Dim i As Long
For Each rngA In Range("A:A")
If rngA.Value Like "*-*" Then
Debug.Print True
' Split range A value into an array
arrayFinal = Split(rngA.Value, "-")
'add n rows below the cells containig "-"
rngA.Offset(1, 0).Resize(UBound(arrayFinal)).EntireRow.Insert Shift:=xlDown
For i = LBound(arrayFinal) To UBound(arrayFinal)
rngA.Offset(i, 0).Value = arrayFinal(i)
Next i
End If
Next rngA
End Sub
编者注:代码错误,因为 If 在 For 循环内,但在它 (Next rngA) 之后结束 (End If)!是错字还是错误?
在工作表上,我有 2 个填充的列(A 和 B)。我的代码循环列 A 并检查包含“-”字符的单元格。如果找到它,则在该单元格下方添加一个新行,并用 A 列中“-”后面的字符串填充它。 但我的问题是:在 B 列中,我有很多之前创建的空行。我想用 B 列中空行上的字符串填充它们。我该怎么做?
更具体一些,例如:
column B
row1: hello1
row2: (empty)
row3: (empty)
row4: hello2
row5: hello3
row6: hello4
row7: (empty)
row8: hello5
...
rown: .....
而我想要的是这样的:
row1: hello1
row2: hello1
row3: hello1
row4: hello2
row5: hello3
row6: hello4
row7: hello4
row8: hello5
...
rown: .....
我需要的是一个优化的代码,所以我必须使用(如果可能的话)相同的循环,因为我有很多填充的行。
【问题讨论】:
-
对不起,是的……这是一个错字。我已经修改了代码。谢谢..