'xlsx cnADO.Open "provider=Microsoft.ACE.OLEDB.12.0;extended properties='excel 8.0;hdr=no;imex=1';data source=" & strPath
'xls cnADO.Open "provider=microsoft.jet.oledb.4.0;extended properties='excel 8.0;hdr=yes;imex=1';data source=" & ThisWorkbook.Path & "/" & a
'hdr 区域是否含表头

Sub 汇总()
Dim filename As String
Dim wb As Workbook
Dim sht As Worksheet
Dim con As New ADODB.Connection
Dim rs As New ADODB.Recordset

Application.ScreenUpdating = False '关闭屏幕更新
ThisWorkbook.Sheets(1).Cells.Clear
arr = Array("发票代码", "发票号码", "购方企业名称", "购方税号", "开票日期", "商品名称", "规格", "单位", "数量", "单价", "金额", "税率", "税额", "税收分类编码")
ThisWorkbook.Sheets(1).Range("A1:N1") = arr
filename = Dir(ThisWorkbook.Path & "\*.xlsx")
x = 2
Do While filename <> ""
If a <> "开票汇总.xlsm" Then
'不显示打开工作簿提取数据,使用workbook.open会打开Excel窗口
Set wb = GetObject(ThisWorkbook.Path & "\" & filename)
Set sht = wb.Worksheets(1)
endrow = sht.Range("O65536").End(xlUp).Row '取得最后一行非空行号
strTable = "[sheet1$A4:R" & endrow & "]" '含标题的数据区域
wb.Close
con.Open "provider=Microsoft.ACE.OLEDB.12.0;extended properties='excel 8.0;hdr=yes;imex=1';data source=" & ThisWorkbook.Path & "/" & filename
strSQL = "select 发票代码, 发票号码, 购方企业名称, 购方税号, 开票日期, 商品名称, 规格, 单位, 数量, 单价, 金额, 税率, 税额, 税收分类编码 from " & strTable & " where 商品名称<>'小计'"
Set rs = con.Execute(strSQL)
ThisWorkbook.Sheets(1).Range("A" & x).CopyFromRecordset rs
filename = Dir
x = ThisWorkbook.Sheets(1).Range("K65536").End(xlUp).Row + 1
con.Close
End If
Loop
Set con = Nothing
Set rs = Nothing
Application.ScreenUpdating = True
Call FillBlank("a:e")
MsgBox "OK"
End Sub

'填充空白单元格
Sub FillBlank(area As String)
Dim rngBlank As Range, rngArea As Range
Set rngBlank = Range(area).SpecialCells(xlCellTypeBlanks) '空单元格
For Each rngArea In rngBlank.Areas
rngArea.Cells(1, 1).Offset(-1, 0).Resize(rngArea.Rows.Count + 1, rngArea.Columns.Count).FillDown
Next rngArea
End Sub

循环文件夹汇总所有发票开具Excel文件数据的更多相关文章

  1. Python遍历一个文件夹下有几个Excel文件及每个Excel文件有几个Sheet

    一. 解决问题: 工作中常会遇到合并Excel文件的需求,Excel文件数量不确定,里面的Sheet 数量是可变的,Sheet Name是可变的,所以,需要用到遍历一个文件夹下有几个Excel文件,判 ...

  2. 把一个文件夹下的多个excel文件合并到同一个excel的一个sheet里

    #!/usr/bin/python # -*- coding: UTF-8 -*- import pandas as pd import os if __name__ == '__main__': F ...

  3. Python将文件夹下的文件名写入excel方便统计

    如题,贴代码: 1 ''' 2 #python将某文件夹下的文件名存储到excel中 3 ''' 4 5 #导入所需模块 6 import os 7 import xlwt 8 9 #定义要处理的文件 ...

  4. java 弹出选择目录框(选择文件夹),获取选择的文件夹路径

    java 弹出选择目录框(选择文件夹),获取选择的文件夹路径 java 弹出选择目录框(选择文件夹),获取选择的文件夹路径:int result = 0;File file = null;String ...

  5. 怎么统计指定文件夹下含有.xml格式的文件数目

    如何统计指定文件夹下含有.xml格式的文件数目?如题 ------解决思路----------------------Directory.GetFiles(@"路径", " ...

  6. 请问用Inno_Setup打包文件夹时怎么排除其中一个文件?

    请问用Inno_Setup打包文件夹时怎么排除其中一个文件? 该文件夹下有几十个文件,多个文件夹,我要一个个加进去该累死,也容易出问题.不知道能不能实现我要的目的. http://www.jrsoft ...

  7. 递归法绑定文件夹到导航树&在指定文件夹下新建文件夹

    protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (Request.QueryString[&q ...

  8. 手动删除文件夹exe病毒并恢复原来文件夹

    转自手动删除文件夹exe病毒并恢复原来文件夹 经常使用U盘.MP3.MP4等移动硬盘的大家,有时是不是会发现,移动硬盘里有现了exe文件,原来本来有一个文件夹的名字是 音乐 ,但后来发现 音乐 这个文 ...

  9. Delphi 弹出Windows风格的选择文件夹对话框, 还可以新建文件夹

    Delphi 弹出Windows风格的选择文件夹对话框, 还可以新建文件夹     unit Unit2; interface uses  Windows, Messages, SysUtils, V ...

  10. C#获取文件夹下指定格式的所有文件

    C#获取文件夹下指定格式的所有文件的方法,虽然很简单,但还是分享一下吧,用到时可以稍加修改和优化就可以使用. 获取指定目录下所有文件 //最要使用 System.IO.Directory.GetFil ...

随机推荐

  1. FB50 过帐码 没有定义

    FB50 提示"过帐码  没有定义" --ECC6.0&Logon730 转至事务码:OBX1 或找到->定义总账科目过账的过账吗 定义借记 40 贷方 50,保存即 ...

  2. Win10家庭版安装docker desktop

    1.开启Hyper-V在桌面新建hyperv.cmd文件,内容如下: pushd "%~dp0" dir /b %SystemRoot%\servicing\Packages\*H ...

  3. httpcanary高级版--不闪退!!!!

    地址 https://wwm.lanzouw.com/iOf7Hz11s4j 密码:45of

  4. 关于uniapp 打自定义基座部分手机不能自动安装的问题

    部分手机指的是-------没错就辣鸡 vivo手机 解决办法----进入手机文件管理-----根目录-----会有一个你打包的app.apk文件,手动安装一下就好了 搜索 复制

  5. 【awk】找出两个文件中的不同值

    https://blog.csdn.net/weixin_33534991/article/details/116683524 awk 'NR==FNR{a[$0]}NR>FNR{ if(!($ ...

  6. Java基础之变量与常量

    变量 定义:可以变化的量. Java是一种强类型语言,每个变量都必须声明其类型. Java变量是程序种最基本的存储单元,其要素包括变量名,变量类型和作用域. //数据类型 变量名 = 值:可以使用逗号 ...

  7. 常用的accept 属性值

    *.3gpp audio/3gpp, video/3gpp 3GPP Audio/Video *.ac3 audio/ac3 AC3 Audio *.asf allpication/vnd.ms-as ...

  8. Apache 基本配置 代理 重定向 跨域 https ssl证书 在windows下常用命令

    官网下载地址 https://httpd.apache.org/ => https://httpd.apache.org/docs/current/platform/windows.html#d ...

  9. Jupyter + Miniconda + VsCode 学习利器

    Jupyter + Miniconda + VsCode 学习利器 Jupyter Notebook 是基于网页的用于交互计算的应用程序. Miniconda 是一款小巧的python环境管理工具 提 ...

  10. curl 命令工具

    curl工具 简介 curl是基于URL语法在命令行方式下工作的文件传输工具,它支持FTP, FTPS,HTTP, HTTPS, GOPHER, TELNET, DICT, FILE及LDAP等协议. ...