首页 > Office专区 > Excel教程 >

Excel在规定单元格之间自动插入行

来源:互联网 2023-02-21 16:03:55 528

修法布施得聪明智慧,多分享让生活更美好。工作中有时需要在Excel列数据中根据规定数据之间插入规定空行,数据量大时一行一行查找并在规定处插入多行,工作量很大,为了省时省力,下面通过一实例分享自动在规定单元格之间自动插入行。DgH办公区 - 实用经验教程分享!

工具/原料

  • Microsoft Office Excel 2007
  • Excel VBA

实例问题

  • 1

    现在有一张工作表, 假设一列有一些单元格内容为“项目”,底下为“项目”内容, 现在每个“项目”之间行数不等, 让表格自动填充,两个“项目”之间行数不够4行的自动补足4行,请问如何做到?DgH办公区 - 实用经验教程分享!

    Excel在规定单元格之间自动插入行DgH办公区 - 实用经验教程分享!

  • 1本页面未经许可获取自百度经验
  • 处理方法/步骤

  • 1

    首先打开上例文件,如下图。DgH办公区 - 实用经验教程分享!

    Excel在规定单元格之间自动插入行DgH办公区 - 实用经验教程分享!

  • 2

    然后按下快捷键ALT F11打开VBA(宏)编辑界面,然后点菜单栏【插入】下拉中列表中点【模块(M)】如图。DgH办公区 - 实用经验教程分享!

    Excel在规定单元格之间自动插入行DgH办公区 - 实用经验教程分享!

  • 3

    然后插入了一个模块1,在代码框中复制如下代码:DgH办公区 - 实用经验教程分享!

    Sub 按规定自动插入行()DgH办公区 - 实用经验教程分享!

    '2020-3-4 21:08:53DgH办公区 - 实用经验教程分享!

    Dim c As Long, i As Long, r As Long, r1 As Long, m(), j As Long, n As Long, i1 As LongDgH办公区 - 实用经验教程分享!

    c = 1 '数据在A列DgH办公区 - 实用经验教程分享!

    r1 = 4 '数据行数DgH办公区 - 实用经验教程分享!

    r = Cells(Rows.Count, c).End(xlUp).RowDgH办公区 - 实用经验教程分享!

    ReDim m(r)DgH办公区 - 实用经验教程分享!

    j = 0DgH办公区 - 实用经验教程分享!

    For i = 1 To rDgH办公区 - 实用经验教程分享!

    If Cells(i, c).Value = "项目" ThenDgH办公区 - 实用经验教程分享!

    j = j 1DgH办公区 - 实用经验教程分享!

    m(j) = Cells(i, c).RowDgH办公区 - 实用经验教程分享!

    End IfDgH办公区 - 实用经验教程分享!

    Next iDgH办公区 - 实用经验教程分享!

    For i = j To 2 Step -1DgH办公区 - 实用经验教程分享!

    n = m(i) - m(i - 1) - 1DgH办公区 - 实用经验教程分享!

    If n r1 ThenDgH办公区 - 实用经验教程分享!

    For i1 = 1 To r1 - nDgH办公区 - 实用经验教程分享!

    Rows(m(i)).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAboveDgH办公区 - 实用经验教程分享!

    Next i1DgH办公区 - 实用经验教程分享!

    End IfDgH办公区 - 实用经验教程分享!

    Next iDgH办公区 - 实用经验教程分享!

    End SubDgH办公区 - 实用经验教程分享!

    Excel在规定单元格之间自动插入行DgH办公区 - 实用经验教程分享!

  • 4

    以上操作动态过程如下:DgH办公区 - 实用经验教程分享!

    Excel在规定单元格之间自动插入行DgH办公区 - 实用经验教程分享!

  • 5

    回到工作表窗口,运行【按规定自动插入行】宏(菜单栏中点【视图】中下列表中【宏】列表【查看宏(V)】打开宏对方框,选该宏名),运行过程如下图。DgH办公区 - 实用经验教程分享!

    Excel在规定单元格之间自动插入行DgH办公区 - 实用经验教程分享!

  • 6

    如果是多空行需要删除用下面代码:DgH办公区 - 实用经验教程分享!

    Sub 按规定自动插入删除行()DgH办公区 - 实用经验教程分享!

    '2020-3-4 21:30:21DgH办公区 - 实用经验教程分享!

    Dim c As Long, i As Long, r As Long, r1 As Long, m(), j As Long, n As Long, i1 As LongDgH办公区 - 实用经验教程分享!

    c = 1 '数据在A列DgH办公区 - 实用经验教程分享!

    r1 = 4 '数据行数DgH办公区 - 实用经验教程分享!

    r = Cells(Rows.Count, c).End(xlUp).RowDgH办公区 - 实用经验教程分享!

    ReDim m(r)DgH办公区 - 实用经验教程分享!

    j = 0DgH办公区 - 实用经验教程分享!

    For i = 1 To rDgH办公区 - 实用经验教程分享!

    If Cells(i, c).Value = "项目" ThenDgH办公区 - 实用经验教程分享!

    j = j 1DgH办公区 - 实用经验教程分享!

    m(j) = Cells(i, c).RowDgH办公区 - 实用经验教程分享!

    End IfDgH办公区 - 实用经验教程分享!

    Next iDgH办公区 - 实用经验教程分享!

    For i = j To 2 Step -1DgH办公区 - 实用经验教程分享!

    n = m(i) - m(i - 1) - 1DgH办公区 - 实用经验教程分享!

    If n r1 ThenDgH办公区 - 实用经验教程分享!

    For i1 = 1 To r1 - nDgH办公区 - 实用经验教程分享!

    Rows(m(i)).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAboveDgH办公区 - 实用经验教程分享!

    Next i1DgH办公区 - 实用经验教程分享!

    ElseIf n > r1 ThenDgH办公区 - 实用经验教程分享!

    For i1 = m(i) - 1 To m(i - 1) r1 1 Step -1DgH办公区 - 实用经验教程分享!

    If Cells(i1, c).Value = "" ThenDgH办公区 - 实用经验教程分享!

    Rows(i1).Delete Shift:=xlUpDgH办公区 - 实用经验教程分享!

    End IfDgH办公区 - 实用经验教程分享!

    Next i1DgH办公区 - 实用经验教程分享!

    End IfDgH办公区 - 实用经验教程分享!

    Next iDgH办公区 - 实用经验教程分享!

    End SubDgH办公区 - 实用经验教程分享!

    Excel在规定单元格之间自动插入行DgH办公区 - 实用经验教程分享!

  • 7

    如果觉得这篇经验帮到了您,请点击下方的 “投票点赞" 或者“收藏”支持我!还有疑问的话可以点击下方的 “我有疑问”,谢谢啦!DgH办公区 - 实用经验教程分享!

  • 以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!DgH办公区 - 实用经验教程分享!


    标签: VBAexcel规定单元

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码