excel2007中单击文本框,自动筛选文本框里面的内容的宏代码
Sub 文本框()
On Error Resume Next
mSs=inputbox("请输入要筛选的关键字,如办公室")
Sheets("基本资料").Select
ActiveSheet.ShowAllData
Sheets("基本资料").Select
ActiveSheet.Range("$A$3:$CC$286").AutoFilter Field:=7, Criteria1:=mss
ActiveWindow.SmallScroll Down:=-60
ActiveWindow.ScrollRow = 4
ActiveWindow.SmallScroll Down:=-1
End Sub
excel表格怎么进行自动筛选?
1、首先,打开Excel,打开相应的成绩表,选中数据表中任意一个单元条,执行“数据→筛选→自动筛选”命令,进入“自动筛选”状态。\x0d\x0a\x0d\x0a2、选中D1单元格(即“语文”标题字段所在的单元格),按其右侧的下拉按钮,在随后弹出的快捷菜单中,选择“自定义”选项。\x0d\x0a\x0d\x0a3、此时,系统弹出“自定义自动筛选方式”对话框,单击左边方框中的下拉按钮,在随后弹出的下拉列表中,选择“小于”选项,然后在后面的方框中输入数值60,确定返回。\x0d\x0a\x0d\x0a4、仿照上面的操作,进一步设置一下“数学”的筛选条件,确定后,需要的数据即刻被筛选出来。\x0d\x0a\x0d\x0a5、选中筛选后的数据区域,执行“编辑定位”命令,打开“定位”对话框,按其中的“定位条件”按钮,打开“定位条件”对话框,选中其中的“可见单元格”选项,确定返回。\x0d\x0a\x0d\x0a6、执行一下“复制”操作,然后切换到Sheet2工作表中,选中保存区域的第一个单元格(如A1),执行一下“粘贴”操作即可。
EXCEL 自动执行高级筛选,的VBA代码 麻烦请一行行的写 请带上注解!
只要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
修改下更灵活的,弹出对话框中输入要查找的字符,就会按你输入的字符筛选出来。增加了注释。
EXCEL,VBA如何自动筛选
筛选后求和的公式是
=subtotal(9,b2:b99)
对ab列进行筛选,筛选a列的“a”,并求和的代码如下:
sub
xxx()
activesheet.range("$a$1:$b$999").autofilter
field:=1,
criteria1:="a"
dim
xrng
as
range
set
xrng
=
range("b2:b999")
msgbox
worksheetfunction.subtotal(9,
xrng)
end
sub