Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1686|回复: 6

[已解决]插入制定行

[复制链接]
发表于 2013-3-21 15:21 | 显示全部楼层 |阅读模式
Sub test()
    Application.ScreenUpdating = False
    Dim i As Integer
    For i = Range("a65536").End(xlUp).Row To 6 Step -1
        If Cells(i - 1, 2) <> "时间" Then
            Rows(i & ":" & i + 4).Insert
        End If
    Next
    Application.ScreenUpdating = True
End Sub



哪位高手能帮帮忙解释一下这段代码的意思呀。
Rows(i & ":" & i + 4)它的意思是不是含i的那一行到它后面4行?
最佳答案
2013-3-21 15:55
jzzhmm425 发表于 2013-3-21 15:42
帅哥前面的代码也讲讲呗,整段代码完全看不懂

Sub test()    '子程序 test()
Application.ScreenUpdating = False    '关闭屏幕刷新(可以提高运行速度)
Dim i As Integer    '定义变量 i 为 整型值
For i = Range("a65536").End(xlUp).Row To 6 Step -1    '设定变量范围为 i=B列最后一行行号到6向上循环
        If Cells(i - 1, 2) <> "时间" Then    '如果 <单元格>坐标(i-1,2) 不等于 "时间" 则执行
                Rows(i & ":" & i + 4).Insert    '第i到i+4行插入空行,也就是插入4行
        End If    'If判断过程结束
Next    '下一个
Application.ScreenUpdating = True    '开启屏幕刷新
End Sub    '子程序结束

发表于 2013-3-21 15:26 | 显示全部楼层
假设I为是5,那么如果B5不是“时间”,就在第5行前插入4行
回复

使用道具 举报

 楼主| 发表于 2013-3-21 15:42 | 显示全部楼层
cbg2008 发表于 2013-3-21 15:26
假设I为是5,那么如果B5不是“时间”,就在第5行前插入4行

帅哥前面的代码也讲讲呗,整段代码完全看不懂
回复

使用道具 举报

发表于 2013-3-21 15:55 | 显示全部楼层    本楼为最佳答案   
jzzhmm425 发表于 2013-3-21 15:42
帅哥前面的代码也讲讲呗,整段代码完全看不懂

Sub test()    '子程序 test()
Application.ScreenUpdating = False    '关闭屏幕刷新(可以提高运行速度)
Dim i As Integer    '定义变量 i 为 整型值
For i = Range("a65536").End(xlUp).Row To 6 Step -1    '设定变量范围为 i=B列最后一行行号到6向上循环
        If Cells(i - 1, 2) <> "时间" Then    '如果 <单元格>坐标(i-1,2) 不等于 "时间" 则执行
                Rows(i & ":" & i + 4).Insert    '第i到i+4行插入空行,也就是插入4行
        End If    'If判断过程结束
Next    '下一个
Application.ScreenUpdating = True    '开启屏幕刷新
End Sub    '子程序结束

回复

使用道具 举报

发表于 2013-3-21 15:59 | 显示全部楼层
完全看不懂  最好从头开始学习
Sub test() ’程序的开始
    Application.ScreenUpdating = False ’关闭屏幕刷新
    Dim i As Integer ’定义整型变量i
    For i = Range("a65536").End(xlUp).Row To 6 Step -1 ‘ for。。。next  是从Range("a65536").End
‘(xlUp).Row   到6   循环   Range("a65536").End(xlUp).Row 的意思是找出A列最后一个非空单元格
        If Cells(i - 1, 2) <> "时间" Then ’如果单元格Cells(i - 1, 2)的值不等于“时间”,就执行一下nextendif之前的代码
            Rows(i & ":" & i + 4).Insert ‘ 在Rows(i & ":" & i + 4)行前面插入行
        End If  ’结束if语句
    Next
    Application.ScreenUpdating = True  ‘打开屏幕刷新
End Sub ’结束程序

回复

使用道具 举报

 楼主| 发表于 2013-3-21 16:06 | 显示全部楼层
1032446692 发表于 2013-3-21 15:59
完全看不懂  最好从头开始学习
Sub test() ’程序的开始
    Application.ScreenUpdating = False ’关闭 ...

不好意思没有看到你的。不过也谢谢你的帮助
回复

使用道具 举报

发表于 2013-3-21 19:15 | 显示全部楼层
本帖最后由 1032446692 于 2013-3-21 19:16 编辑
jzzhmm425 发表于 2013-3-21 16:06
不好意思没有看到你的。不过也谢谢你的帮助


没关系的  cbg2008  老师在先  而且cbg2008 老师也解释的好很多  我只是根据自己的理解解释的  希望能帮到你就行了   不是非得强求最佳的  哈哈 不要被我发的那篇求最佳的帖子吓到了哈
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-6 14:34 , Processed in 0.255640 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表