




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Vb对excel操作的实例听语音 | 浏览:209 | 更新:2016-04-25 02:59 | 标签:EXCEL 1 2 3 4 5分步阅读最近,由于工作关系,我用vb6.0做了一个计算成绩的软件,由于我不会数据库技术,同行对excel应用又比较普遍,所以就用vb6.0操作excel完成了成绩统计的任务。工具/原料 vb6.0方法/步骤1. 先说说窗体,很简单,只运用了菜单,由此来调用程序代码。窗体命名为excel操作,共五个一级菜单。2. 创建表册用来制作所用表格。3. 计算成绩用来算成绩。4. 模拟运算用来测试软件,设置了两个子菜单,一个填随机生成的数据。有了数据就可以计算成绩了,看看效果如何。5. 测试完了就可以清空数据了,清空成绩册中的基础数据以后再计算一次成绩就基本可以使表册恢复原样了。其实,我这是多此一举,回头一想,只需要重新创建所用表册就行了。还画蛇添足了俩菜单:计算器和退出。6. 代码也贴出来共享一下。计算成绩:一年级:Private Sub yinianji_Click()Call打开工作表Call算成绩(1)kmb(1) = 语文: kmb(2) = 数学: kmb(3) = 英语Sheets(kmb(1).SelectFor i = 1 To 8记录一年级语文数据With bj(i).xxmc = Cells(2, i + 1).dkjs = Cells(3, i + 1).xkrs = Cells(4, i + 1).xkzf = Cells(5, i + 1).xkjgr = Cells(6, i + 1).xkyxr = Cells(7, i + 1).xkjf = Cells(8, i + 1).bjkm = kmb(1).njxh = 1End WithNextSheets(kmb(2).SelectFor i = 1 To 8记录一年级数学数据With bj(i + 8).xxmc = Cells(2, i + 1).dkjs = Cells(3, i + 1).xkrs = Cells(4, i + 1).xkzf = Cells(5, i + 1).xkjgr = Cells(6, i + 1).xkyxr = Cells(7, i + 1).xkjf = Cells(8, i + 1).bjkm = kmb(2).njxh = 1End WithNextDim hgrs(8)记录各学校合格人数For i = 1 To 8Sheets(xx(i).Selectszl = Application.WorksheetFunction.Match(总分, Range(a2, f2) 总分所在列即合格人数所在列szh = Application.WorksheetFunction.Match(合格人数, Range(Cells(2, szl), Cells(80, szl) “合格人数”所在行hgrs(i) = Cells(szh + 2, szl)Next向学校总评表过录一年级数据nj(1) = 一年级: nj(2) = 二年级: nj(3) = 三年级: nj(4) = 四年级: nj(5) = 五年级: nj(6) = 六年级Workbooks.Open FileName:=ActiveWorkbook.Path & 学校总评.xlsFor i = 1 To 16With Sheets(积分)Sheets(积分).Selecta1 = 年级: a2 = 学科: a3 = 学校: a4 = 人数: a5 = 总分: a6 = 及格人数: a7 = 优秀人数: a8 = 积分.Cells(1, i + 1) = nj(bj(i).njxh).Cells(2, i + 1) = bj(i).bjkm.Cells(3, i + 1) = bj(i).xxmc.Cells(4, i + 1) = bj(i).xkrs.Cells(5, i + 1) = bj(i).xkzf.Cells(6, i + 1) = bj(i).xkjgr.Cells(7, i + 1) = bj(i).xkyxr.Cells(8, i + 1) = bj(i).xkjfEnd WithNextWorkbooks.Open FileName:=ActiveWorkbook.Path & 上报.xlsWith Sheets(中心校) 过录中心校成绩.Cells(bj(1).njxh * 2 + 2, 3) = bj(1).xkrs + bj(2).xkrs + bj(6).xkrs语文.Cells(bj(1).njxh * 2 + 2, 4) = bj(1).xkzf + bj(2).xkzf + bj(6).xkzf.Cells(bj(1).njxh * 2 + 2, 5) = Round(.Cells(bj(1).njxh * 2 + 2, 4) / .Cells(bj(1).njxh * 2 + 2, 3), 2).Cells(bj(1).njxh * 2 + 2, 6) = bj(1).xkjgr + bj(2).xkjgr + bj(6).xkjgr.Cells(bj(1).njxh * 2 + 2, 7) = bj(1).xkyxr + bj(2).xkyxr + bj(6).xkyxr.Cells(bj(1).njxh * 2 + 2, 8) = hgrs(1) + hgrs(2) + hgrs(6).Cells(bj(1).njxh * 2 + 3, 3) = bj(9).xkrs + bj(10).xkrs + bj(14).xkrs数学.Cells(bj(1).njxh * 2 + 3, 4) = bj(9).xkzf + bj(10).xkzf + bj(14).xkzf.Cells(bj(1).njxh * 2 + 3, 5) = Round(.Cells(bj(1).njxh * 2 + 3, 4) / .Cells(bj(1).njxh * 2 + 3, 3), 2).Cells(bj(1).njxh * 2 + 3, 6) = bj(9).xkjgr + bj(10).xkjgr + bj(14).xkjgr.Cells(bj(1).njxh * 2 + 3, 7) = bj(9).xkyxr + bj(10).xkyxr + bj(14).xkyxr.Cells(bj(1).njxh * 2 + 3, 8) = hgrs(1) + hgrs(2) + hgrs(6)End WithWith Sheets(普小) 过录普小成绩.Cells(bj(1).njxh * 2 + 2, 3) = bj(3).xkrs + bj(4).xkrs + bj(5).xkrs + bj(7).xkrs + bj(8).xkrs 语文.Cells(bj(1).njxh * 2 + 2, 4) = bj(3).xkzf + bj(4).xkzf + bj(5).xkzf + bj(7).xkzf + bj(8).xkzf.Cells(bj(1).njxh * 2 + 2, 5) = Round(.Cells(bj(1).njxh * 2 + 2, 4) / .Cells(bj(1).njxh * 2 + 2, 3), 2).Cells(bj(1).njxh * 2 + 2, 6) = bj(3).xkjgr + bj(4).xkjgr + bj(5).xkjgr + bj(7).xkjgr + bj(8).xkjgr.Cells(bj(1).njxh * 2 + 2, 7) = bj(3).xkyxr + bj(4).xkyxr + bj(5).xkyxr + bj(7).xkyxr + bj(8).xkyxr.Cells(bj(1).njxh * 2 + 2, 8) = hgrs(3) + hgrs(4) + hgrs(5) + hgrs(7) + hgrs(8).Cells(bj(1).njxh * 2 + 3, 3) = bj(11).xkrs + bj(12).xkrs + bj(13).xkrs + bj(15).xkrs + bj(16).xkrs 数学.Cells(bj(1).njxh * 2 + 3, 4) = bj(11).xkzf + bj(12).xkzf + bj(13).xkzf + bj(15).xkzf + bj(16).xkzf.Cells(bj(1).njxh * 2 + 3, 5) = Round(.Cells(bj(1).njxh * 2 + 3, 4) / .Cells(bj(1).njxh * 2 + 3, 3), 2).Cells(bj(1).njxh * 2 + 3, 6) = bj(11).xkjgr + bj(12).xkjgr + bj(13).xkjgr + bj(15).xkjgr + bj(15).xkjgr.Cells(bj(1).njxh * 2 + 3, 7) = bj(11).xkyxr + bj(12).xkyxr + bj(13).xkyxr + bj(15).xkyxr + bj(16).xkyxr.Cells(bj(1).njxh * 2 + 3, 8) = hgrs(3) + hgrs(4) + hgrs(5) + hgrs(7) + hgrs(8)End WithUnload excel操作End Sub7. 框架已经完成,可以看出,卸载窗体的动作很频繁。这是我调试的结果,这样才能保证每次的动作都能顺利完成。我想这就是单窗体的特点吧。被调用的程序模块也挺多的,系统包也调用了,最频繁的就是打开文件对话框的调用。8. 哦,还得说明一下,对excel的操作前提:Dim xlApp As Excel.ApplicationDim xlBook As Excel.WorkbookDim xlSheet As Excel.Worksheet本软件中,我第一次用了自定义类的数据类型。Private Type banjixxmc As Stringbjkm As Stringnjxh As Integerxkrs As Integerdkjs As Stringxkzf As Integerxkjgr As Integerxkyxr As Integerxkjf As LongEnd Type并设了一数组Dim bj(16) As banji来从年级成绩册向学校总评表过录数据。设了八个学校名称Dim xx(8),设了3个科目表Dim kmb(1 To 3) As String,六个年级Dim nj(1 To 6) As String,班级人数为六个年级八个学校的二维数组Dim gbrs(6, 8)。excel中使用vba实现单元格计算的方法听语音 | 浏览:14393 | 更新:2012-07-24 02:04 | 标签:excel 1 2 3 4 5 6 7分步阅读excel中,假如我们知道每个员工的销售数量,又知道商品的单价,可以简单的计算出销售额,但是档员工人数特别多,即便是快速复制公式,仍然可以把你累死,这时候就要使用vba了,利用循环计算,你可以快速的计算上万员工的销售额,非常简单方便。步骤/方法1. 首先,我要知道商品的单价是12.5,在D1单元格输入【商品单价】,在D2单元格输入12.52. 接着我们打开vb界面,在常用工具栏上执行:开发工具-visual basic。3. 打开vb以后,我们要先建立一个模块,如图所示,在菜单栏上执行:插入-模块,这样就直接插入并打开了一个模块。4. 在打开的模块中,我们输入如下的代码:Const Price As Single = 12.5Sub 计算
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中外广告史试题及答案
- 中医方剂学试题及答案
- 学海大联考2024-2025学年高二下生物期末预测试题含解析
- 车辆维修延误损失赔偿合同
- 智能制造厂房建设与运营维护合同集
- 2024年内蒙古蒙发能源控股集团招聘笔试真题
- 中介签署的二手房买卖合同新的内容(31篇)
- 有关合资经营合同模板集锦(16篇)
- 供电指挥复习试题及答案
- 防断复习试题含答案
- 不对称短路故障分析与计算(电力系统课程设计)
- GB/T 28731-2012固体生物质燃料工业分析方法
- GB/T 13313-1991轧辊肖氏硬度试验方法
- 防汛物资供应项目实施方案
- 城市旅游规划课件
- 局下属企业全面审计实施方案
- SY∕T 5280-2018 原油破乳剂通用技术条件
- 三位数乘以一位数精选练习题(100道)
- 城市规划设计收费指导意见+收费标准
- 江苏省工期定额执行标准
- 下穿式隧道建设工程监理实施细则
评论
0/150
提交评论