sytn.net
当前位置:首页 >> ExCEl中用vBA代码删除某行 >>

ExCEl中用vBA代码删除某行

给你2113完5261整4102代码1653把专:属 sub aa() for i=range("C65536").end(xlup).row to 1 step -1 if cells(i,3)= 0 then rows(i).delete end if next end sub

给你完整代码把: sub aa() for i=range("C65536").end(xlup).row to 1 step -1 if cells(i,3)= 0 then rows(i).delete end if next end sub

VBA删除行 通常是从下往上查找目标值进行删除 这样才会不会误删 Sub test() For i = 2000 To 1 step -1 If Range("AQ" & i).Value = "0" or Range("AQ" & i).text = "#REF!" Then Rows(i & ":" & i).Delete Shift:=xlUp End If Next End Sub

find某个值,获得这个值的行号,删除某行.或者dictionary读入某个值所在的行,然后dic.exit(某个值),如果存在这个值得,删除此行.

如果数据是按照时间大小升序存放的,问题就比较简单.假设原始数据在sheet1,日期在A列,最小日期为 2000-1-1.sheet2的A2输入公式=vlookup(date(2000,row(),0),sheet1!$a$2:$v$3000,column())向右向下填充最后选中sheet1的一行数据,用格式刷刷一下sheet2.ps:如果某月1个数据都没有,该公式会返回上月最后一个数据.

1,保留的应该是该行的K、L、M列三个单元格的数据对吗?2,如果是上面的所说的话,那么就不是删除行,而是删除单元格(或者区域)的数据.

楼主的要求跟我类似(我想将筛选出来的行及其后的三行一起删掉,筛选条件是宏录制的),我的方法是集成了多位大神的结果,解决了我的问题.代码如下:'筛选条件,可使用宏录制,然后修改 j=rows("2:2000").specialcells(12).row '获取筛选的行号,“2:2000”是筛选的范围,根据需要修改 Rows(j & ":" & (j+3)).Select '选中筛选的行及其后3行,根据需要修改 '选中后的操作,可使用宏录制,然后修改 如果想进行多次删除操作,再加一个循环语句即可.

1234 Sub删除空行() k = ActiveSheet.UsedRange.Row Rows(1 & ":"& k - 1).Delete Shift:=xlUp EndSub

对于删除重复数据,excel 2007中有一个功能可以删除,不需要vba编程.方法:选中重复数据出现的单元格区域→“菜单”栏→“数据”→“删除重复项”→点击“确定”即可如图:

删除行的方法用错了,应该是:Rows(rng.Row).Delete或者是:rng.EntireRow.Delete另外,在for循环中删除行是一个非常微妙的事情,因为当删除了一行以后,下一行将变成当前行,而NEXT命令之后,“下一行”就变成了被删除行之后的第二

网站首页 | 网站地图
All rights reserved Powered by www.sytn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com