求VBA代码,假如i列的每行数值是a,在每行下面插入a-1空行,请问高手如何实现

 我来答
百度网友d88c829
推荐于2016-01-09 · TA获得超过1159个赞
知道小有建树答主
回答量:2328
采纳率:76%
帮助的人:643万
展开全部
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张工作表。

追问

老师真心不错,在每行代码后面还有注释,运行后的结果是这样的,可能我表达得不够准确,望老师再帮我修改一下代码,让这自动根据每行的数值,在其下面插入对应的空行数-1,比如数值30,就在这行下面插入29行空行。真心感谢老师!!

追答
是的,我也发现了,把For j = 1 To arr(ct, 1)   那一行改为For j = 1 To arr(ct, 1)-1即可
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式