范围的问题,清高人给解答一下
vba吧
全部回复
仅看楼主
level 2
copenhagen09 楼主
刚刚接触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分
@数界如此多娇 不错,这个思路很好,我没想到
2025年10月05日 13点10分
@Jilon90 标准做法是倒序,但其实正序也可以做 ,一旦你删除一行,你就把那个循环变量减1,但是这种做法很啰嗦,通常不使用
2025年10月08日 01点10分
吧务
level 11
Usedrange end(xlup)试试
2025年10月09日 09点10分 5
level 7
直接查找某列内容直到下表,查到特定字符就清空本列。
不难吧,直接让Ai给你写就好。
2025年10月24日 04点10分 6
1