范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

ExcelVBA与SQL语言的综合运用

  Excel 中使用VBA可以极大地提高工作效率,如果将VBA与SQL语言(Structured Query Language,简称SQL)结合起来使用,处理数据起来那更是如鱼得水,如虎添翼,锦上添花。可喜可贺的是,该语言简洁,易学易用,可以嵌套,具有极大的灵活性和强大的功能。今天我带你领略VBA与SQL语言汇总数据的风采。
  一、基础数据(原始数据)
  图1 用工费
  二、汇总数据表
  图2 汇总数据表
  三、模块代码
  1、VBA之字典汇总,代码如下:Sub dic_groupby()
  Dim arr,t
  Dim d As New Dictionary
  Dim i As Integer, k%, j%
  Dim sh1 As Worksheet, sh2 As Worksheet
  Set d = CreateObject("Scripting.Dictionary")
  "创建字典
  Set sh1 = Sheets("总表")
  Set sh2 = Sheets("用工费")
  arr = sh2.Range("a1").CurrentRegion
  sh1.Range("a1:f500").ClearContents
  sh1.[a1:g1] = Array("id", "name", "corn", "millet", "rapeseed", "other", "ALL")
  For i = 2 To UBound(arr)
  If d.Exists(arr(i, 2)) Then
  d(arr(i, 2)) = Array(d(arr(i, 2))(0) + arr(i, 3), d(arr(i, 2))(1) + arr(i, 4), d(arr(i, 2))(2) + arr(i, 5), d(arr(i, 2))(3) + arr(i, 6))
  Else
  d(arr(i, 2)) = Array(arr(i, 3), arr(i, 4), arr(i, 5), arr(i, 6))
  End If
  Next i
  "通过循环进行汇总
  t = d.Keys
  t = WorksheetFunction.Transpose(t)
  "对字典的键进行转置
  sh1.[b2].Resize(d.Count) =t
  "将字典的键放入sh1里面的b2单元格起始的位置,行扩展数量为d.count,默认一列。
  sh1.[C2].Resize(d.Count, 4) = WorksheetFunction.Transpose(WorksheetFunction.Transpose(d.Items))
  "对字典的键对应的数值进行双重转置后放入C2单元格起始的位置,行扩展数量为d.count,4列。
  sh1.Range("a" & d.Count + 2).Offset(0, 2) = WorksheetFunction.Sum(Range("C2:C" & d.Count + 1))
  sh1.Range("a" & d.Count + 2).Offset(0, 3) = WorksheetFunction.Sum(Range("D2:D" & d.Count + 1))
  sh1.Range("a" & d.Count + 2).Offset(0, 4) = WorksheetFunction.Sum(Range("E2:E" & d.Count + 1))
  sh1.Range("a" & d.Count + 2).Offset(0, 5) = WorksheetFunction.Sum(Range("F2:F" & d.Count + 1))
  "对相应的列求和计算
  For j = 1 To d.Count
  sh1.Range("a" & j + 1) = j
  sh1.Range("G" & j + 1) = WorksheetFunction.Sum(Range("C" & j + 1 & ":F" & j + 1))
  Next j
  "行方向求和
  sh1.Range("a" & j + 1) = "Total"
  sh1.Range("a" & j + 1).Offset(0, 1) = "ALL"
  sh1.Range("G" & d.Count + 2) = WorksheetFunction.Sum(Range("G2:G" & d.Count + 1))
  End Sub
  2、VBA之SQL语句汇总,代码如下:Option Explicit
  Sub sql_query()
  Dim path As String,sq1 As String
  Dim i As Integer
  Dim conn As Object,rs As Object
  Dim sh As Worksheet
  Set sh = Sheets("总表")
  Set conn = CreateObject("adodb.connection")
  "创建连接对象
  sh.Range("A1:G100").ClearContents
  path = ThisWorkbook.FullName
  If Application.Version < 12 Then
  conn.Open "provider=microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source=" & path
  Else
  conn.Open "provider=microsoft.ace.oledb.12.0;extended properties=excel 12.0;data source=" & path
  End If
  sq1 = "select name ,sum(corn)as corn ,sum(millet)as millet ,sum(rapeseed) as rapeseed ,sum(other) as other, sum(corn)+sum(millet)+sum(rapeseed)+sum(other)as total from[用工费$] GROUP BY name order by name desc"
  "设置SQL查询语句
  Set rs = conn.Execute(sq1)
  "设置结果集对象
  sh.[A2].CopyFromRecordset rs
  "拷贝结果集至A2单元格起始的位置
  For i = 1 To rs.fields.Count
  sh.Cells(1, i) = rs.fields(i - 1).name
  Next i
  "设置字段名
  conn.Close
  Set conn = Nothing
  Set rs = Nothing
  End Sub
  本期至此结束,如有不妥或不明白之处,请在评论区留言指正,同时欢迎大家点赞、收藏、转发、关注,下期再见。

30岁的冯提莫,坚定音乐之梦不动摇,开启新征程作为从小就热爱音乐的冯提莫,心中一直都有一个梦想,希望成为一名歌手,在舞台上给大家带来好听的歌曲。从2014年开始,冯提莫才有了接触自己音乐梦想的机会,一首佛系少女让冯提莫有了崭露谢霆锋吃完牛瘪问谁发明了这道菜?黔东南烹饪协会回应11月中旬,歌手演员谢霆锋在抖音发布了中国瘪王的探店视频。这条试吃黔东南牛瘪的视频收获45。5万网友点赞。记者随后采访了该店的老板娘杨大姐,同时黔东南州烹饪饭店行业协会也关注到了此还记得那些年的超女吗?她红到现在无人超越,她却沦为出租车司机超级女声这档综艺,一开播就是王炸,在那个网络和手机刚刚开始普及的年代,多少人守在电视机面前,就想要为自己喜欢的人投上一票。那是一个全民海选的年代,只要你喜欢她,她就能脱颖而出。超级360科技行业季度观察报告今天分享的是360智慧商业最新发布的360科技行业季度观察报告,文末可获取该资料。报告内容,详情参阅下文。外部环境与内部创新发展动力叠加。科技行业整体进度或将进入加速阶段,以信息科跨境电商平台有哪些?(下篇)继续我们上篇还没讲完的内容,跨境电商平台很多,我就罗列一些大的主流的平台。13Rumall2016年5月,丰卖网俄罗斯站点(httpRumall。com)进入试运营,2016年9月小米OV该醒悟了,苹果三星都开始准备后路,华为这次成了榜样在近十几年的时间当中,智能手机发展速度这么快,离不开芯片行业的发展。尤其是底层架构以及制造工艺方面的日渐成熟,也让一众第三方IC芯片设计公司获得了发展的契机,比如高通联发科等等。而从4999跌至2999元,旗舰芯IP68无线充电,高端旗舰沦为中端机声明原创不易,禁止搬运,违者必究!如果你购买一部手机,是看手机的品牌,还是手机产品?可以说手机品牌多多少少起到一定的影响。就比方说三星手机,这个手机品牌早些年在国内手机市场,还是非华为P50新版本登场,起步价仅8988元,堪称双屏设计的天花板文有鱼审核子扬校对知秋因为研发难度较高,折叠屏手机一直是各手机厂商最高端的产品代表。艾瑞咨询发布的数据显示,在2021年的中国折叠屏手机市场中,华为以64的市场份额遥遥领先。尽管华双旦换机选这三款零差评手机,最低仅有千元,好用不贵智能手机经过十余年的发展,至今已经成为人们日常生活中不可或缺的一部分。手机承担的功能及其重要性不言而喻,但仍然有很多人不知道该怎么去选一部适合自己的手机。每当有粉丝留言问我这样的问Epic圣诞每日喜加一更新免费领取掠食Epic游戏商城圣诞促销季15天每日喜加一活动已进入第十天,今日的免费领取游戏是掠食(Prey),免费领取时间为北京时间12月26日0点至12月27日0点。掠食(Prey)空间站已永劫无间预选赛决赛梅花桩KZ独狼秀翻全场ASE天海双抓击溃对手最近一段时间,电竞圈观众的目光无疑聚焦在永劫无间首届世界冠军赛(以下简称劫杯)上,随着赛程的逐渐进行此次劫杯中国大陆赛区三排预选赛已经来到了决赛阶段。在12月25日,将迎来预选赛决
正式确定!马布里离开北控,新帅或将浮出水面,带队冲击季后赛北京时间1月1日,新的一年开始了,北控男篮近期在联赛中的表现令人失望,在本赛季的第二阶段中,球队战绩极其糟糕,连胜率仅为16,排名已经跌至第15位,冲击季后赛的形势十分严峻。这让北2023年最流行的穿搭时尚性感辣妹风今年非常流行又甜又酷带点性感的辣妹风,有很多的女明星带头起了示范作用,还有很多时尚博主也跟风穿起了辣妹风。如果你的锁骨非常性感的话则可以尝试用大圆领款式的上衣或者是方领款式的上衣来周冬雨终于穿对了,黑色抹胸连体裤剪俩洞,平板身材也撩人!头条创作挑战赛连体裤,是一种特别帅气又拉风的服装。相对于普通的服装,连体裤整体风格上更加协调,也减少了日常搭配中的烦恼,让我们的穿衣搭配变得更加顺心顺手。如果你也不想为了每天的服装贝利墓地曝光,沙特企图买断C罗全家,克罗地亚小姐再惹争议2023年第一天,体育圈发生了那些劲爆新闻?一岁一礼,一寸欢喜新的一年,新的开始2022年是不平凡的一年,也许有坎坷羁绊,但是2023年,我们依旧有毅力做牛做马,负重前行。一球王贝奥迪谈隔扣我这一年都没扣篮,这是我今年第一记扣篮今日,爵士对阵热火的常规赛已经结束,全场战罢,热火以126123战胜爵士。赛后热火球员维克托奥拉迪波接受采访。记者说道我想谈谈年度扣篮,你在比赛中隔扣了7尺长人,我想若需要有一幕来姆总大转变,为内少出头,欲拉帮结派,排挤梅西,巴黎乱了导读现如今的姆巴佩,再次成为了转会市场中的焦点,并且根据世界体育报的跟踪报道,巴塞罗那成为了法国球星新东家的候选之一,实在令人感到匪夷所思!而有意思的是,姆巴佩与内马尔的关系,也在时光派对开启梵克雅宝LadyArpelsHeuresFloralesCerisier腕表宝玑那不勒斯王后系列9835腕表积家约会系列妙音响时静谧大自然腕表(翠鸟款)罗杰杜彼王者竞速系列万宝龙智姆巴佩独木难支,大巴黎遭遇首败文羊城晚报全媒体记者刘毅法甲第17轮在1月2日凌晨上演榜首大战,领头羊巴黎圣日耳曼客场以1比3负于排名第二的朗斯,遭遇本赛季正式比赛首败。在法甲积分榜上,大巴黎14胜2平1负积44马宁谈与范加尔沟通他表现得克制且绅士,争议在微笑中化解直播吧1月1日讯近日中国裁判马宁在一档节目中,谈到了自己参与到卡塔尔世界杯的过程。我担任了6场比赛的第四官员,很多人对于第四官员的职责可能不太了解。在比赛前中后有很多工作要做。例如新年新气象,宁波男篮迎开门红!成背景板,山西扎心了CBA第23轮,本赛季迄今未尝一胜的宁波町渥对阵此前7战输了6场的山西汾酒股份,对于双方而言,都非常渴望胜利的滋味。特别是2023年的第一天,能用一场胜利来作为新年的开门红,对整年希罗12月表现背靠背76分19记三分,1次绝杀,三分432022年12月期间,热火球员泰勒希罗表现出色,亮眼表现如下41分10记三分真实命中率92。3(背靠背第二场)35分9记三分投篮命中率52(背靠背第一场)34分6助攻投篮命中率71