
了解:
Visual Basic for Applications(VBA)是Visual Basic的一种宏语言,是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展Windows的应用程式功能,特别是Microsoft Office软件。也可说是一种应用程式视觉化的Basic 脚本。——来自百度百科
背景:
这次使用vba是因为:这次评教最初用的外网,连的万达238的数据库,但由于服务器出现问题,及时更换了局域网,连的校内207的库。之后万达服务器恢复后,又继续用外网。即:评教的数据在两个数据库中。这样对统计成绩就造成了一定的困难。——如何对成绩进行整合??
解决:
其实在这里用vba,就相当于把excel当成数据库,对其进行 *** 作。
我是先把成绩分别导出来,也就是有两份成绩单。每一份都不完整:有可能一个老师,一部分学生给的分在1个库中,另一部分的分在另一个库。这样统计出来成绩就是这样的:
数据库1:
数据库2:
vba代码:
'作者:赵寒-借鉴师哥旧版vba
'时间:2016-6-19 19:52:10
'过程说明:此过程为多个库中评教数据合并专用过程。主要功能是计算某教师、某课程在多个库中学生评分
' 的平均值。
'使用说明:处理的Excel必须是直接从评教系统导出的Excel,不得更换Excel中列的顺序。且需要将多个成绩单数据放在同一个excel进行整合统计。
Sub formatting()
Dim rowCount As Integer '总行数
Dim colCount As Integer '总列数
Dim tempRowCount As Integer '临时行数
Dim tempColumnCount As Integer '临时列数
Dim arrResult(100) As String '存放临时结果
Dim strSheetName As String '存放原工作表名
Dim sheetResult As Worksheet '自定义的工作表
Dim n
Sub connect_数据库()Dim strconnt As String
Set connt = New ADODB.Connection
Dim rs As Object
Set rs = New ADODB.Recordset
Dim sevip, Db, user, pwd As String
'设服务器地址、所连数据,及登录用户密码
sevip = "****"
Db = "****"
user = "****"
pwd = "****"
strconnt = "DRIVER={Microsoft ODBC for Oracle}Password=appsUser ID=appsData Source=demo" '
connt.ConnectionString = strconnt
connt.Open
End Sub
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)