EXCEL 自动执行高级筛选,的VBA代码 麻烦请一行行的写 请带上注解!

2025-01-01 13:06:50
推荐回答(1个)
回答1:

只要A列的值是吧?写到另外一表的A列吗?
明白了。
如从sheet1表筛选A、C列到sheet2表中A、B两列中
sub
筛选()
dim
arr,arr1()'定义两个数组
dim
R&,x&,i&'定义三个整数变量
dim
tt$'定义一个字符串变量
with
sheets("sheet1")'指定sheet1工作表
tt=inputbox("请输入要查找的字符","请输入")'输入要查找的字符
r=.range("C65536").end(xlup).row'sheet1C列最后一个非空单元格行号赋值给变量R
arr=.range("A1:C"&r).value'给数组arr赋值为A1:C列最后一个非空单元格
end
with
redim
arr1(1
to
ubound(arr),1
to
2),定义数组arr1为与数组arr一样多行,2列
for
x=1
to
ubound(arr)'在数组中进行循环
if
arr(x,3)=tt
then'如果arr(x,3)等于输入的字符
i=i+1'计数器
arr1(i,1)=arr(x,1)‘赋值给arr1第一列
arr1(i,2)=arr(x,3)'赋值给arr1第二列
end
if
next
x'结束循环
sheets("sheet2").range("A1").resize(ubound(arr1),ubound(arr1,2))=arr1'把arr1写入sheet2表中
end
sub
修改下更灵活的,弹出对话框中输入要查找的字符,就会按你输入的字符筛选出来。增加了注释。