录制宏就能得到代码,我录制的结果如下图:
其中的语句是:
ActiveSheet.Range("$A$2:$I$4").AutoFilter Field:=1, Criteria1:= xlFilterThisMonth, Operator:=xlFilterDynamic
你需要自己录制,因为区域不同。
VBA中实现筛选一部分数据步骤如下:
1、我们打开Excel软件,选择一个区域,接下来就要筛选其中一班的数据。
2、接下来进入VBA编辑区域,我们先看一下如何选中某一行的区域。
3、另外我们还可以通过EntireColumn和EntireRow来选择行和列。
4、了解了上面的两个用法以后,我们就可以通过Range来选择一开始指定的区域了。
5、接下来我们就可以通过foreach循环进行遍历选择区域查找需要的内容。
6、最后运行VBA程序我们就可以看到一班的数据都被筛选出来了。
在原来的地方实现比较麻烦, 新增个工作表来实现Sub test()
Dim Cnn
Dim Sql As String
Set Cnn = CreateObject("ADODB.Connection")
Cnn.Open "provider=microsoft.jet.oledb.4.0extended properties='excel 8.0hdr=yes'data source=" &ThisWorkbook.FullName
Sheets.Add
Range("a1:c1") = Sheet1.Range("a1:c1").Value
Sql = "select * from [sheet1$] where 分类 in ('A','B','C','D') and 日期 >=#2008-01-01# and 日期 <=#2008-01-31# "
Range("A2").CopyFromRecordset Cnn.Execute(Sql)
Columns("C:C").Select
Selection.NumberFormatLocal = "yyyy/m/d"
End Sub
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)