作者ptguitar (佩蒂吉他)
看板Office
标题[算表] vba回圈删除类似字眼资料?
时间Tue Jun 6 14:34:09 2017
软体:excel 2007以上
版本: 2007以上
我要把一整段有符合某字眼的删除
Sub eachssdelete()
Dim ss As Object
lastrow = Range("A65536").End(xlUp).Row
For Each ss In Range("A1:A" & lastrow)
If ss.Text Like "*海外分行*" Or ss.Text Like "*机构名称*" _
Or ss.Text Like "*工作表*" Then
Rows(ss.Row).Delete
End If
Next ss
End Sub
但是我都要按好几次巨集执行才会删光
不知道那边还要改?
原始档案::
https://drive.google.com/open?id=0BwCgrQhGgaw7RXByS2kxRnFjWTQ
巨集如下:
Sub eachssdelete()
Dim ss As Object
lastrow = Range("A65536").End(xlUp).Row
For Each ss In Range("A1:A" & lastrow)
If ss.Text Like "*海外分行*" Or ss.Text Like "*机构名称*" _
Or ss.Text Like "*工作表*" Then
Rows(ss.Row).Delete
End If
Next ss
End Sub
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 60.250.67.77
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1496730852.A.51C.html
1F:→ Linkey: 执行 for 回圈中删除 row 会改变 next ss 的原始位置 06/06 15:32
2F:→ Linkey: 当有有关键字上下相连时,下一个就会跳过For回圈不会执行 06/06 15:35
3F:→ ptguitar: 所以说我把所有的row位置先读出来再一起删才对? 06/06 15:37
4F:→ soyoso: 以for..next反序step为负的方式 06/06 16:01
感谢S大 真的要这样写 後来可以
Sub test001()
Dim YY, XX, ZZ
YY = "*海外分行*"
XX = "*机构名称*"
ZZ = "*工作表*"
For i = [A65536].End(xlUp).Row To 1 Step -1
If Range("A" & i).Text Like YY Or Range("A" & i).Text Like XX Or Range("A"
& i).Text Like ZZ Then
Rows(i).Delete
End If
Next
End Sub
※ 编辑: ptguitar (60.250.67.77), 06/06/2017 16:21:40
5F:→ waiter337: 由屁股往回删 06/06 19:28
6F:→ waiter337: 如果照原来的方式,就必需插入一个假设删除该行,就得在 06/06 19:29
7F:→ waiter337: 该行重新再次扫瞄一次,直到没有like才可以进行下一行 06/06 19:29
8F:推 LBJisGod5566: 不错欸 受用 06/07 20:23