0
#This is the input table for which I want to perform some action#在Vba中增加For循环中的变量?
Public Sub mac()
Dim RangeOfChild As Range
For i = 1 To 10000
ActiveCell.Range("A" & i).Activate
Dim DirArray As Variant
Dim temp As Variant
Set RangeOfChild = Range(ActiveCell.Offset(0, 1),ActiveCell.End(xlToRight))
childCount = RangeOfChild.count
temp = ActiveCell.Value
ActiveCell = Null
DirArray = RangeOfChild.Value
RangeOfChild.ClearContents
ActiveCell.EntireRow.Resize(childCount - 1).Insert Shift:=xlDown
ActiveCell.Value = temp
Range(ActiveCell.Offset(0, 1), ActiveCell.Offset(RangeOfChild.count - 1, 1)) = Application.Transpose(Array(DirArray))
i = i + (childCount)
Next i
End Sub
我希望有一个输出类似于下面的图片
但for循环写只完成操作,以两排中,没有剩余,如果有人能帮助我,这将是一个很大的帮助。
变化'ActiveCell.Range( “A” &ⅰ).Activate'到'范围( “A” &ⅰ).Activate'和改变'I = I +(childCount)''到I = I + childCount - 1'(但是,这是一种不好的做事方式!) – YowE3K