山东喵

导航

 
 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 CSV
xlCSVMac                                22 Macintosh CSV  
xlCSVMSDOS                              24 MSDOS CSV
xlCSVWindows                            23 Windows CSV  
xlCurrentPlatformText                -4158 当前平台文本
xlDBF2                                   7 DBF2
xlDBF3                                   8 DBF3
xlDBF4                                  11 DBF4
xlDIF                                    9 DIF
xlExcel12                               50 Excel 12
xlExcel2                                16 Excel 2
xlExcel2FarEast                         27 Excel2 FarEast
xlExcel3                                29 Excel3
xlExcel4                                33 Excel4
xlExcel4Workbook                        35 Excel4 工作簿
xlExcel5                                39 Excel5
xlExcel7                                39 Excel7
xlExcel8                                56 Excel8
xlExcel9795                             43 Excel9795
xlHtml                                  44 HTML 格式
xlIntlAddIn                             26 国际加载项
xlIntlMacro                             25 国际宏
xlOpenXMLAddIn                          55 打开 XML 加载项
xlOpenXMLTemplate                       54 打开 XML 模板
xlOpenXMLTemplateMacroEnabled           53 打开启用的 XML 模板宏
xlOpenXMLWorkbook          51 打开 XML 工作簿
xlOpenXMLWorkbookMacroEnabled           52 打开启用的 XML 工作簿宏
xlSYLK                                   2 SYLK
xlTemplate                              17 模板
xlTemplate8                             17 模板 8
xlTextMac                               19 Macintosh 文本
xlTextMSDOS                             21 MSDOS 文本
xlTextPrinter                           36 打印机文本
xlTextWindows                           20 Windows 文本
xlUnicodeText                           42 Unicode 文本
xlWebArchive                            45 Web 档案
xlWJ2WD1                                14 WJ2WD1
xlWJ3                                   40 WJ3
xlWJ3FJ3                                41 WJ3FJ3
xlWK1                                    5 WK1
xlWK1ALL                                31 WK1ALL
xlWK1FMT                                30 WK1FMT
xlWK3                                   15 WK3
xlWK3FM3                                32 WK3FM3
xlWK4                                   38 WK4
xlWKS                                    4 工作表
xlWorkbookDefault                       51 默认工作簿
xlWorkbookNormal                     -4143 常规工作簿
xlWorks2FarEast                         28 Works2 FarEast
xlWQ1                                   34 WQ1
xlXMLSpreadsheet                        46 XML 电子表格
posted on 2019-04-22 16:36  山东喵  阅读(4761)  评论(0编辑  收藏  举报