Excel精英培训网

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

[已解决]在某指定条件单元格所在行的下面插入2行

[复制链接]
发表于 2015-3-14 22:36 | 显示全部楼层 |阅读模式
小弟VBA新手,学着用VBA处理实验数据,现在要在某特定行的下面插入2行,当遇到2014-12-9 9:59:00,2014-12-9 10:59:00
,2014-12-9 11:59:00等每个整点最后一分钟所在行的后面插入2行,这种VBA代码怎么编写呢,下面是我试着编写的代码,但完全不行。。。。。。
希望各位大神赐教,谢谢啦~
Sub 插入行()
Dim rng As Range
Dim a As Variant
For Each rng In Range("A2:A789")
    Set a = rng.Value
    If "a" Like "[*59*]" Then
    rng.EntireRow.Insert
    End If
Next rng
End Sub
最佳答案
2015-3-15 10:01
  1. Sub demo()
  2.     Dim r As Long, i As Long
  3.     With Sheets("sheet1")
  4.         r = .Cells(.Rows.Count, 1).End(xlUp).Row
  5.         For i = r To 2 Step -1
  6.             If Minute(.Cells(i, 1)) = 59 Then
  7.                 .Rows(i + 1 & ":" & i + 2).Insert
  8.             End If
  9.         Next
  10.     End With
  11. End Sub
复制代码
表名:sheet1
cells(i,1) :日期时间在第一列
根据情况,你自己修改
搜狗截图20150314223033.png
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2015-3-14 23:56 | 显示全部楼层
提问题,最好上传附件,才知道你数据类型
回复

使用道具 举报

发表于 2015-3-15 10:01 | 显示全部楼层    本楼为最佳答案   
  1. Sub demo()
  2.     Dim r As Long, i As Long
  3.     With Sheets("sheet1")
  4.         r = .Cells(.Rows.Count, 1).End(xlUp).Row
  5.         For i = r To 2 Step -1
  6.             If Minute(.Cells(i, 1)) = 59 Then
  7.                 .Rows(i + 1 & ":" & i + 2).Insert
  8.             End If
  9.         Next
  10.     End With
  11. End Sub
复制代码
表名:sheet1
cells(i,1) :日期时间在第一列
根据情况,你自己修改
回复

使用道具 举报

 楼主| 发表于 2015-3-15 10:15 | 显示全部楼层
26759761@qq.com 发表于 2015-3-14 23:56
提问题,最好上传附件,才知道你数据类型

恩恩,这个确实我疏忽了,第一次发帖,没想到这一点,后面发帖注意。感觉还是在论坛里交流学得快,谢谢提醒!
回复

使用道具 举报

 楼主| 发表于 2015-3-15 11:37 | 显示全部楼层
qh8600 发表于 2015-3-15 10:01
表名:sheet1
cells(i,1) :日期时间在第一列
根据情况,你自己修改

谢谢大神的解答,刚自己翻书上网查终于把你写的这段代码看懂了,解决了我的大问题。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-15 01:36 , Processed in 0.769179 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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