level 2
刚刚接触VBA,遇到个问题,正在写一个小代码用于删除某一列单元格里只要出现某种特定字符,比如“不合格”,就删除这个单元格所在的整行。如果用for each,怎么表达这个经过dim rng as range的单元格,范围在P列,随着表格内容增多,可能又20行或者以后有100行,如何表示这个呢?in range ("P:P")?请高人给点拨一下,多谢!
2025年10月02日 13点10分
1
level 12
end(xlup)或者currentrange或者usedrange了解一下
2025年10月03日 00点10分
2
level 3
边界定位函数,if函数判断,删除命令,然后for until ,完毕OK
2025年10月03日 12点10分
3
level 4
新手的话,这么写,n=cells(rows.count, “p”).end(xlup).row
Range(“p1:p”&n)
2025年10月04日 12点10分
4
另外,用循环是不可以实现删除单元格的,举例:当A2单元格被删除以后,原本的A3,或者B2会移动到A2,单元格(取决于你删除单元格后的操作),此时循环值会进入下一个。
2025年10月04日 14点10分
@Jilon90 也是可以的,从后往前删除就行了,step可以是负值。
2025年10月05日 10点10分
@Jilon90 标准做法是倒序,但其实正序也可以做 ,一旦你删除一行,你就把那个循环变量减1,但是这种做法很啰嗦,通常不使用
2025年10月08日 01点10分
level 7
直接查找某列内容直到下表,查到特定字符就清空本列。
不难吧,直接让Ai给你写就好。
2025年10月24日 04点10分
6