Excel宏筛选中如何用单元格引用替代固定文本?
Excel VBA 筛选不含指定单元格文本的行
问题描述
原有VBA代码用于筛选C列中不含固定文本“lac”的行:
ActiveSheet.Range("$C$1:$C$100000").AutoFilter Field:=1, Criteria1:= _ "<>*lac*", Operator:=xlAnd
需要修改为筛选C列中不含Sheet2!A3单元格内文本的行,尝试替换“lac”但未找到正确语法。
解决方案
核心是通过字符串拼接,把通配符格式和单元格引用的内容结合起来,正确写法如下:
ActiveSheet.Range("$C$1:$C$100000").AutoFilter Field:=1, Criteria1:= _ "<>*" & Sheet2.Range("A3").Value & "*", Operator:=xlAnd
说明
- 用
&运算符将<>*、Sheet2.Range("A3").Value(目标单元格的文本内容)、*这三部分拼接成完整的筛选条件字符串 - 这样就能动态引用
Sheet2!A3中的文本,实现“C列不含该文本”的筛选逻辑
内容的提问来源于stack exchange,提问作者Mailbox
相关产品推荐
相关产品推荐

