Excel VBA

您所在的位置:网站首页 vba提取数据并批量打印文件 Excel VBA

Excel VBA

2024-07-10 04:17| 来源: 网络整理| 查看: 265

1 Function MyOutPut(ByVal FileName As String, ByVal col As Integer, ByVal Row As Long, ByVal sheet As Worksheet) 2 '/********************************************/ 3 '参数1 文件名 4 '参数2 结束列号 5 '参数3 起始行号 6 '参数4 工作表指针 7 '/********************************************/ 8 ' 9 '输出整理好的表格 10 Application.ScreenUpdating = False '关闭表格公式的自动刷新 11 'StartTime = Timer '记录开始运行时间 12 Dim endline As Long 13 Dim name As String 14 Dim myCol As Integer 15 Dim myRow As Long 16 Dim mySheet As Worksheet 17 name = FileName '获取传进来的文件名 18 myCol = col '获取传进来的结束列号 19 myRow = Row '获取传进来的起始行号 20 Set mySheet = sheet '获取传进来的工作表指针 21 endline = mySheet.Range("$A$1000000").End(xlUp).Row '如果工作表行数大于一百万,请修改这里的数值 22 MyPath = ThisWorkbook.Path '获取本文件目录 23 24 '创建新的工作簿 25 Set wb = Workbooks.Add 26 wb.Sheets(1).Range(Cells(1, 1), Cells(endline, myCol)).NumberFormatLocal = "@" 27 mySheet.Range(mySheet.Cells(myRow, 1), mySheet.Cells(endline, myCol)).Copy 28 wb.Sheets(1).Range(Cells(1, 1), Cells(endline, myCol)).PasteSpecial Paste:=xlPasteValues 29 30 '准备输出 31 MyFullName = MyPath & "\" & name & ".xlsx" '自动生成文件名称 32 ActiveWorkbook.SaveAs FileName:=MyFullName, FileFormat:=xlWorkbookDefault, CreateBackup:=False '保存,FileFormat 为下面列表中的指定格式,这里默认为xlsx 33 ActiveWorkbook.Close '关闭新生成的工作簿 34 End Function

(2022-02-08更新)

最近忙于整理数据并输出,特此将常用的核心代码分享出来,供有需要的人调用。

以上为我自己封装的Excel表格输出函数,直接放到自己的工作簿或者模块里就可以调用了,

以下是一个调用示例:

Private Sub CommandButton1_Click() Dim name As String, Col As Integer, Row As Long, sheet As Worksheet Col = 5 Row = 1 Set sheet = Sheet1 '设定工作表指针,这里直接使用工作表的名称指定 Call MyOutPut("表格导出测试", Col, Row, sheet) End Sub

这样就会在当前excel文件的目录下导出一个  表格导出测试.xlsx 的Excel文件

 

Q&A

Q1: 为什么我运行的时候提示“应用程序定义或对象定义错误 ” ?

A1:这有可能是因为你在调用函数的时候,传入的sheet变量没有提前定义,注意需要提前执行  Dim sheet As Worksheet ,工作表指针必须提前定义,不能直接使用 set赋值

 

 

Q2: 我按照Q1的写好代码了,为什么我运行的时候还是提示“应用程序定义或对象定义错误 ” ?

 

A2:这有可能是因为你没有开启vba信任,开启方法如下: 点击“文件”-》“选项”-》信任中心-》宏设置,勾选下面的“信任对VBA工程对象模型的访问”。如果还不行,勾选上面蓝色框里的“启用VBA宏”

 

 

 

 

————————————————————————————————————————————————————————

(2019.10.14更新)

FileFormat:=xlExcel8 这里是指定导出的格式,常见格式如下:xlAddIn                                 18 Microsoft Office Excel 加载项xlAddIn8                                18 Excel 2007 加载项xlCSV                                    6 CSVxlCSVMac                                22 Macintosh CSV  xlCSVMSDOS                              24 MSDOS CSVxlCSVWindows                            23 Windows CSV  xlCurrentPlatformText                -4158 当前平台文本xlDBF2                                   7 DBF2xlDBF3                                   8 DBF3xlDBF4                                  11 DBF4xlDIF                                    9 DIFxlExcel12                               50 Excel 12xlExcel2                                16 Excel 2xlExcel2FarEast                         27 Excel2 FarEastxlExcel3                                29 Excel3xlExcel4                                33 Excel4xlExcel4Workbook                        35 Excel4 工作簿xlExcel5                                39 Excel5xlExcel7                                39 Excel7xlExcel8                                56 Excel8xlExcel9795                             43 Excel9795xlHtml                                  44 HTML 格式xlIntlAddIn                             26 国际加载项xlIntlMacro                             25 国际宏xlOpenXMLAddIn                          55 打开 XML 加载项xlOpenXMLTemplate                       54 打开 XML 模板xlOpenXMLTemplateMacroEnabled           53 打开启用的 XML 模板宏xlOpenXMLWorkbook          51 打开 XML 工作簿xlOpenXMLWorkbookMacroEnabled           52 打开启用的 XML 工作簿宏xlSYLK                                   2 SYLKxlTemplate                              17 模板xlTemplate8                             17 模板 8xlTextMac                               19 Macintosh 文本xlTextMSDOS                             21 MSDOS 文本xlTextPrinter                           36 打印机文本xlTextWindows                           20 Windows 文本xlUnicodeText                           42 Unicode 文本xlWebArchive                            45 Web 档案xlWJ2WD1                                14 WJ2WD1xlWJ3                                   40 WJ3xlWJ3FJ3                                41 WJ3FJ3xlWK1                                    5 WK1xlWK1ALL                                31 WK1ALLxlWK1FMT                                30 WK1FMTxlWK3                                   15 WK3xlWK3FM3                                32 WK3FM3xlWK4                                   38 WK4xlWKS                                    4 工作表xlWorkbookDefault                       51 默认工作簿xlWorkbookNormal                     -4143 常规工作簿xlWorks2FarEast                         28 Works2 FarEastxlWQ1                                   34 WQ1xlXMLSpreadsheet                        46 XML 电子表格


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3