求VBA代码,假如i列的每行数值是a,在每行下面插入a-1空行,请问高手如何实现
1个回答
展开全部
Sub insertRow()
Dim arr '临时数组,保存指定列的值
Dim ct As Long '计数器
Dim startLine As Long '内容起始行
startLine = 2 '从第2行开始
Dim colName As String '插入行数列
colName = "I"
With Worksheets(1)
ct = .UsedRange.Rows.Count - startLine '计算出需要“处理”的次数,最末一行不需处理
arr = .Range(colName & startLine & ":" & colName & .UsedRange.Rows.Count - 1)
For i = .UsedRange.Rows.Count To startLine + 1 Step -1 '从最末一行的上端开始插入空行
.Cells(i, 1).Select
For j = 1 To arr(ct, 1) '循环插入arr(ct,1)行
Selection.EntireRow.Insert
Next
ct = ct - 1 '更新计数器
Next
End With
End Sub
Alt+F11,插入模块,粘贴代码,F5运行,处理工作簿中第1张工作表。
追问
追答
是的,我也发现了,把For j = 1 To arr(ct, 1) 那一行改为For j = 1 To arr(ct, 1)-1即可
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询