ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的酷贴 > Excel VBA > 如何使用VBA+SQL+ADO进行统计分析

如何使用VBA+SQL+ADO进行统计分析

作者:绿色风 分类: 时间:2022-08-18 浏览:86
楼主
wise
Q:如何使用VBA+SQL+ADO进行统计分析?
本例关键是中间变量的存储。

统计.jpg  

A:ALT+F11→插入模块,在模块中输入以下代码:
  1. Sub wise()
  2.     '定义变量
  3.     Dim conn As Object, rs As Object
  4.     Dim SQL As String, Str As String
  5.     Dim TotalScore As Double
  6.     Dim TotalCount As Long
  7.     Dim avgMath As Double
  8.     Dim ws As Worksheet
  9.    
  10.     Set ws = Sheets("Sheet1")
  11.     '建立连接
  12.     Set conn = CreateObject("ADODB.Connection")
  13.     Set rs = CreateObject("ADODB.Recordset")   '建立收集器对象

  14.     conn.connectionstring = "Provider='Microsoft.ACE.OLEDB.12.0';Data Source=" & ThisWorkbook.FullName & ";Extended Properties='Excel 12.0;HDR=YES'"
  15.     conn.Open
  16.    
  17.     '统计数学成绩总分
  18.     SQL = "select sum(成绩)  from  [" & ThisWorkbook.Path & "\测试.xlsm].[Sheet1$A:C] where 科目='数学' "
  19.     Set rs = conn.Execute(SQL)
  20.     TotalScore = rs.Fields(0)  '关键部分
  21.    
  22.     '统计数学总考生人数
  23.     SQL = "select count(成绩)  from  [" & ThisWorkbook.Path & "\测试.xlsm].[Sheet1$A:C] where 科目='数学' "
  24.     Set rs = conn.Execute(SQL)
  25.     TotalCount = rs.Fields(0) '关键部分
  26.    
  27.     '进行相除
  28.     avgMath = TotalScore / TotalCount
  29.    
  30.     rs.Close
  31.     conn.Close '关闭数据库链接,释放资源
  32.     Set rs = Nothing
  33.     Set conn = Nothing '清空对象
  34.     With ws
  35.       .Range("G2") = TotalScore
  36.       .Range("H2") = TotalCount
  37.       .Range("I2") = avgMath
  38.     End With
  39. End Sub

测试.rar
2楼
0Mouse
使用VBA+SQL+ADO进行统计分析,方便快捷!学习借鉴!谢谢分享!
3楼
yangkd2011
以后要学了。
4楼
335081548
谢谢分享
5楼
gzdragon
认真学习,借鉴。

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap