循环文件夹汇总所有发票开具Excel文件数据
'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文件数据的更多相关文章
- Python遍历一个文件夹下有几个Excel文件及每个Excel文件有几个Sheet
一. 解决问题: 工作中常会遇到合并Excel文件的需求,Excel文件数量不确定,里面的Sheet 数量是可变的,Sheet Name是可变的,所以,需要用到遍历一个文件夹下有几个Excel文件,判 ...
- 把一个文件夹下的多个excel文件合并到同一个excel的一个sheet里
#!/usr/bin/python # -*- coding: UTF-8 -*- import pandas as pd import os if __name__ == '__main__': F ...
- Python将文件夹下的文件名写入excel方便统计
如题,贴代码: 1 ''' 2 #python将某文件夹下的文件名存储到excel中 3 ''' 4 5 #导入所需模块 6 import os 7 import xlwt 8 9 #定义要处理的文件 ...
- java 弹出选择目录框(选择文件夹),获取选择的文件夹路径
java 弹出选择目录框(选择文件夹),获取选择的文件夹路径 java 弹出选择目录框(选择文件夹),获取选择的文件夹路径:int result = 0;File file = null;String ...
- 怎么统计指定文件夹下含有.xml格式的文件数目
如何统计指定文件夹下含有.xml格式的文件数目?如题 ------解决思路----------------------Directory.GetFiles(@"路径", " ...
- 请问用Inno_Setup打包文件夹时怎么排除其中一个文件?
请问用Inno_Setup打包文件夹时怎么排除其中一个文件? 该文件夹下有几十个文件,多个文件夹,我要一个个加进去该累死,也容易出问题.不知道能不能实现我要的目的. http://www.jrsoft ...
- 递归法绑定文件夹到导航树&在指定文件夹下新建文件夹
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (Request.QueryString[&q ...
- 手动删除文件夹exe病毒并恢复原来文件夹
转自手动删除文件夹exe病毒并恢复原来文件夹 经常使用U盘.MP3.MP4等移动硬盘的大家,有时是不是会发现,移动硬盘里有现了exe文件,原来本来有一个文件夹的名字是 音乐 ,但后来发现 音乐 这个文 ...
- Delphi 弹出Windows风格的选择文件夹对话框, 还可以新建文件夹
Delphi 弹出Windows风格的选择文件夹对话框, 还可以新建文件夹 unit Unit2; interface uses Windows, Messages, SysUtils, V ...
- C#获取文件夹下指定格式的所有文件
C#获取文件夹下指定格式的所有文件的方法,虽然很简单,但还是分享一下吧,用到时可以稍加修改和优化就可以使用. 获取指定目录下所有文件 //最要使用 System.IO.Directory.GetFil ...
随机推荐
- layui 关闭/打开新标签
setTimeout(function () { //关闭当前页面并跳转到课程列表 var topLayui = parent === self ? layui : top.layui; parent ...
- 设置eclipse默认编码为UTF-8 Set default encoding to utf-8 in eclipse
设置eclipse默认编码为UTF-8 Set default encoding to utf-8 in eclipse 1,windows->Perferences->General-& ...
- Linux出现Read-only file system错误解决方法
执行命令时遇到如下错误 这个问题是文件系统受损导致得,fstab文件未正确配置 解决方法: df -hT #查看一下分区及挂载信息 fsck -a /dev/sda3 -a :检查文件系统,有异常便自 ...
- es6数组去重、数组中的对象去重 && 删除数组(按条件或指定具体元素 如:id)&& 筛选去掉没有子组件的父组件
// 数组去重 { const arr = [1,2,3,4,1,23,5,2,3,5,6,7,8,undefined,null,null,undefined,true,false,true,'中文' ...
- drf从入门到飞升仙界 02
restful规范 # restful是一种定义web API接口的设计风格,适用于前后端分离的应用模式中 # 关于restful的10个规范 -1.数据的安全保障,通常使用https协议(http+ ...
- 最好用的 vue v-for直接循环案例
vue v-for直接循环数字,也就是固定次数 项目中需要做一个酒店星级,酒店星级就是固定的5星,根据后台返回的数据来显示几星级 <!--星级,循环固定次数 5次 根据酒店等级显示亮的星星和灰色 ...
- NAT的转换
NAT的转换 拓扑图 Sever0的IP地址:192.168.0.1/24 网关:192.168.0.254 PC0的IP地址:192.168.0.100/24 PC1的IP地址:192.168.0. ...
- Fastreport 如果值相同合并单元格
在fastreport 中设置text的属性即可 效果如下
- 【北邮人论坛帖子备份】【FAQ】给今年国企求职学弟学妹的一点建议
目录 主要内容 补充--[心得][校招]面向国企秋招的一些体会 补充--[心得]回馈论坛,某toca的小弟金融类央企秋招过程中的一点点 主要内容 时间:Fri Feb 19 23:00:33 2021 ...
- Lua中__index元方法的介绍与使用
一.相关介绍请参考:Lua中__index原方法介绍 二.使用示例 代码如下: 下面示例使用的元素迭代器 --1.列表元素迭代器,仅返回列表中每一个元素,改列表索引必须为连续的数字 function ...