ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 3138|回复: 14

[求助] 按日期汇总数据

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-8-3 10:46 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
详见附件,汇总要求如下:
1,将文件夹下所有工作簿中的数据汇总,
2,按日期汇总,
3,按“还款本金”“还款利息”等表头汇总。

谢谢大虾。

数据汇总.rar

24.88 KB, 下载次数: 31

TA的精华主题

TA的得分主题

发表于 2018-8-4 05:25 | 显示全部楼层
需要更多数据

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-8-6 09:11 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2018-8-6 10:03 | 显示全部楼层
Option Explicit

Sub a()
Dim cnn As Object, SQL$, s$, p$, f$
Set cnn = CreateObject("ADODB.Connection")
p = ThisWorkbook.Path & "\"
f = Dir(p & "*.CSV")
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties='text;FMT=Delimited(,);hdr=YES';Data Source=" & p
Do While f <> ""
   SQL = SQL & " SELECT INT(交易日期) AS T,还款本金,还款利息,还款总金额,交易手续费 FROM " & f & " UNION ALL "
    f = Dir()
Loop
SQL = Left(SQL, Len(SQL) - 11)
SQL = "SELECT T,SUM(还款本金),SUM(还款利息),SUM(还款总金额),SUM(交易手续费) FROM (" & SQL & ") GROUP BY T"
[A2:E999] = ""
[a2].CopyFromRecordset cnn.Execute(SQL)
cnn.Close
Set cnn = Nothing
Dim R%
R = [A999].End(3).Row
[a1].Offset(R, 0) = "合计"
[b1].Offset(R, 0).Resize(1, 4) = "=sum(b2:b" & R & ")"
End Sub

评分

2

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-8-6 11:39 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2018-8-6 12:36 来自手机 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
ado,csv,合并与汇总

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-8-6 13:58 | 显示全部楼层

十分感谢 太厉害了
有个小问题请教,我附件中的只是数据样本,完全没有问题。不过当我运行了实际数据时,大概有十个EXCEL文件,出现了个错误,FROM 子句语法错误(这句:[a2].CopyFromRecordset cnn.Execute(SQL))。请大虾帮忙看看啥原因,谢谢
From子句语法错误.jpg

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-8-6 14:05 | 显示全部楼层

对了 我电脑中没有=Microsoft.JET.OLEDB.4.0,所以擅自改成了Microsoft.Ace.OLEDB.12.0. 是不是这个原因啊?

TA的精华主题

TA的得分主题

发表于 2018-8-6 14:27 | 显示全部楼层
czl103 发表于 2018-8-6 14:05
对了 我电脑中没有=Microsoft.JET.OLEDB.4.0,所以擅自改成了Microsoft.Ace.OLEDB.12.0. 是不是这个原因 ...

Microsoft.Ace.OLEDB.12.0 这个对应excel2010版本的。

能上传出错的附件?

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-8-6 14:40 | 显示全部楼层
魂断蓝桥 发表于 2018-8-6 14:27
Microsoft.Ace.OLEDB.12.0 这个对应excel2010版本的。

能上传出错的附件?

只有结果工作簿,数据源工作簿太大了,上传不了。

汇总数据.rar

14.98 KB, 下载次数: 15

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-22 19:56 , Processed in 0.039688 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表