如何用VBA写自动筛选当月数据代码?

如何用VBA写自动筛选当月数据代码?,第1张

录制宏就能得到代码,我录制的结果如下图:

其中的语句是:

  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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6763727.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存