网站首页 > 开源技术 正文
Hi,大家好呀!
今天又到了我们一周一更新的时间,如果大家最近看过我的直播,知道我每周一会更新,那今天怎么周二才更新了?当然是因为忙!咦?怎么又感觉我说了一堆废话呢!哈哈哈!想和大家唠唠嗑,拉近拉近距离,但好像更尴尬了!
OK,废话不多话,我来想想今天分享点啥呢?
最近一直和导入导出杠上了,所以我们还是来讲讲导出功能。我们在导出Excel数据时,想着导出后可以在Excel做一些数据分析的操作,但每次导出后还要手工选择第一列,添加筛选功能,虽说这个操作花不了太多时间,但每次这么操作一次很是反感,特别是一天要导出很多次的情况下,那能不能在导出时直接添加上筛选呢?
如下图:
要实现这个功能,超简单,最关键的部分,只要一行代码:
objBook.Sheets("sheet1").Rows("1:1").AutoFilter
关键的代码都告诉你了,那剩下的应该都会操作了吧!让我们来看看吧!
1
准备要导出的表/查询
第一步还是一样,我们准备一张要导出的表/查询,那我们还是用之前的那张产品表!
2
添加代码
有了要导出的数据之后,我们就可以来添加一下代码了,我们先创建一个窗体,在窗体上放一个导出按钮。
接着,我们添加一下代码:
Private Sub btnExport_Click()
On Error GoTo Err_ExportToExcel
Dim strName As String
Dim objExcel As Object
Dim objBook As Object
Dim objSheet As Object
Dim rst As Object
Dim objExcelQuery As Object
strName = "产品.xlsx"
'使用文件对话框取得另存为的文件名
With Application.FileDialog(2) 'msoFileDialogSaveAs
.InitialFileName = strName
If .Show Then
strName = .SelectedItems(1)
If Not strName Like "*.xlsx" Then strName = strName & ".xlsx"
Else
strName = ""
End If
End With
If strName = "" Then Exit Sub
DoCmd.Hourglass True
Set objExcel = CreateObject("Excel.Application")
Set objBook = objExcel.Workbooks().Add()
Set objSheet = objBook.Worksheets("sheet1")
Set rst = CurrentDb.OpenRecordset("T_Product")
Set objExcelQuery = objSheet.QueryTables.Add(rst, objSheet.Range("A1"))
With objExcelQuery
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
objExcelQuery.Refresh
rst.Close
objBook.Sheets("sheet1").Rows("1:1").AutoFilter
objBook.Worksheets("sheet1").SaveAs strName
If MsgBox("数据已导出,是否打开并查看?", vbQuestion + vbYesNo) = vbYes Then
objExcel.Visible = True
Else
objBook.Saved = True
objExcel.Quit
End If
Exit_ExportToExcel:
Set objExcel = Nothing
Set objBook = Nothing
Set objSheet = Nothing
Set rst = Nothing
DoCmd.Hourglass False
Exit Sub
Err_ExportToExcel:
If Err = 70 Then
MsgBox "无法删除文件 '" & strName & "',可能该文件已被打开或没有权限。", vbCritical
Else
MsgBox Err.Source & " #" & Err & vbCrLf & vbCrLf & Err.Description, vbCritical
End If
Resume Exit_ExportToExcel
End Sub
3
运行测试
最后,就是运行测试了,导出的Excel就是自动添加上筛选功能,如下图:
好了,大家快去试一下吧!
猜你喜欢
- 2025-03-20 如何将Excel文件中的每行数据导出为单独的文本文件
- 2025-03-20 Excel | 批量导出图片(excel批量导出图片)
- 2025-03-20 只需三步,将Excel中的图片导出为单独的文件,就这么简单
- 2025-03-20 java大牛告诉你这样导出excel更加简单高效
- 2025-03-20 如何自动识别CAD图中所有表格数据并导出
- 2025-03-20 玩转无代码之批量导出 Excel 设置
- 2025-03-20 EasyExcel导出Excel表格到浏览器,通过Postman测试导出Excel
- 2025-03-20 办公效率up!一键导出Word全部表格到Excel
- 2025-03-20 利用VBA将Excel工作表导出为文本文件
- 2025-03-20 如何将网页表格转换为excel表格(附excel表格空行删除教程)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)