Vb对excel操作的实例.docx

上传人:b****6 文档编号:3326897 上传时间:2022-11-21 格式:DOCX 页数:13 大小:31.18KB
下载 相关 举报
Vb对excel操作的实例.docx_第1页
第1页 / 共13页
Vb对excel操作的实例.docx_第2页
第2页 / 共13页
Vb对excel操作的实例.docx_第3页
第3页 / 共13页
Vb对excel操作的实例.docx_第4页
第4页 / 共13页
Vb对excel操作的实例.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

Vb对excel操作的实例.docx

《Vb对excel操作的实例.docx》由会员分享,可在线阅读,更多相关《Vb对excel操作的实例.docx(13页珍藏版)》请在冰豆网上搜索。

Vb对excel操作的实例.docx

Vb对excel操作的实例

Vb对excel操作的实例

最近,由于工作关系,我用vb6.0做了一个计算成绩的软件,由于我不会数据库技术,同行对excel应用又比较普遍,所以就用vb6.0操作excel完成了成绩统计的任务。

先说说窗体,很简单,只运用了菜单,由此来调用程序代码。

截图如下:

窗体命名为excel操作,共五个一级菜单。

创建表册用来制作所用表格。

计算成绩用来算成绩。

模拟运算用来测试软件,设置了两个子菜单,一个填随机生成的数据。

有了数据就可以计算成绩了,看看效果如何。

测试完了就可以清空数据了,清空成绩册中的基础数据以后再计算一次成绩就基本可以使表册恢复原样了。

其实,我这是多此一举,回头一想,只需要重新创建所用表册就行了。

还画蛇添足了俩菜单:

计算器和退出。

代码也贴出来共享一下。

创建表册:

一年级:

PrivateSubynjkb_Click()

Call建空表(10)

Call工作表命名

(1)

Call成绩册

(1)

Unloadexcel操作

EndSub

创建表册:

二年级:

PrivateSubenjkb_Click()

Call建空表(10)

Call工作表命名

(2)

Call成绩册

(2)

Unloadexcel操作

EndSub

三至六年级略了吧。

创建表册:

学校总评:

PrivateSubxxzp_Click()

nj

(1)="一年级":

nj

(2)="二年级":

nj(3)="三年级":

nj(4)="四年级":

nj(5)="五年级":

nj(6)="六年级"

Call建空表

(2)

'建立积分表

Sheets

(1).Name="学校积分"

Sheets

(2).Name="积分"

Sheets("学校积分").Select

Range("a1:

i1").Merge

[a1]="学校积分统计表":

[a2]="学校":

[a3]="南村小学":

[a4]="东风小学":

[a5]="兴中小学":

[a6]="尧场小学"

nj

(1)="一年级":

nj

(2)="二年级":

nj(3)="三年级":

nj(4)="四年级":

nj(5)="五年级":

nj(6)="六年级"

Fori=1To6

Cells(2,i+1)=nj(i)+"积分"

Next

Cells(2,8)="均积分":

Cells(2,9)="名次"

Range([a1],[i6]).Select

Selection.HorizontalAlignment=xlCenter

Call表格加线(Range([a2],[i6]))

Call横排(6,9)

ActiveSheet.PageSetup.Orientation=xlLandscape

Unloadexcel操作

EndSub

创建表册:

上报:

PrivateSubshangbao_Click()

Call建空表

(2)

Sheets

(1).Name="中心校"

Sheets("中心校").Select

Call上报表("中心校")

Sheets

(2).Name="普小"

Sheets("普小").Select

Call上报表("普小")

Unloadexcel操作

EndSub

计算成绩:

一年级:

PrivateSubyinianji_Click()

Call打开工作表

Call算成绩

(1)

kmb

(1)="语文":

kmb

(2)="数学":

kmb(3)="英语"

Sheets(kmb

(1)).Select

Fori=1To8'记录一年级语文数据

Withbj(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=1

EndWith

Next

Sheets(kmb

(2)).Select

Fori=1To8'记录一年级数学数据

Withbj(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=1

EndWith

Next

Dimhgrs(8)'记录各学校合格人数

Fori=1To8

Sheets(xx(i)).Select

szl=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.OpenFileName:

=ActiveWorkbook.Path&"\学校总评.xls"

Fori=1To16

WithSheets("积分")

Sheets("积分").Select

[a1]="年级":

[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).xkjf

EndWith

Next

Workbooks.OpenFileName:

=ActiveWorkbook.Path&"\上报.xls"

WithSheets("中心校")'过录中心校成绩

.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)

EndWith

WithSheets("普小")'过录普小成绩

.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)

EndWith

Unloadexcel操作

EndSub

计算成绩:

二年级略。

计算成绩:

三年级:

PrivateSubsannianji_Click()

Call打开工作表

Call算成绩(3)

kmb

(1)="语文":

kmb

(2)="数学":

kmb(3)="英语"

Sheets(kmb

(1)).Select

Fori=1To5'记录三年级语文数据

Withbj(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=3

EndWith

Next

Sheets(kmb

(2)).Select

Fori=1To5'记录三年级数学数据

Withbj(i+5)

.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=3

EndWith

Next

Sheets(kmb(3)).Select

Fori=1To5'记录三年级英语数据

Withbj(i+10)

.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(3)

.njxh=3

EndWith

Next

xx

(1)="南村1":

xx

(2)="南村2":

xx(3)="兴中":

xx(4)="东风":

xx(5)="尧场"

Dimhgrs(5)'记录各学校合格人数

Fori=1To5

Sheets(xx(i)).Select

szl=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.OpenFileName:

=ActiveWorkbook.Path&"\学校总评.xls"

Fori=1To15

WithSheets("积分")

[a21]="年级":

[a22]="学科":

[a23]="学校":

[a24]="人数":

[a25]="总分":

[a26]="及格人数":

[a27]="优秀人数":

[a28]="积分"

.Cells(21,i+1)=nj(bj(i).njxh)

.Cells(22,i+1)=bj(i).bjkm

.Cells(23,i+1)=bj(i).xxmc

.Cells(24,i+1)=bj(i).xkrs

.Cells(25,i+1)=bj(i).xkzf

.Cells(26,i+1)=bj(i).xkjgr

.Cells(27,i+1)=bj(i).xkyxr

.Cells(28,i+1)=bj(i).xkjf

EndWith

Next

Workbooks.OpenFileName:

=ActiveWorkbook.Path&"\上报.xls"

WithSheets("中心校")'过录中心校成绩

.Cells(bj

(1).njxh*3-1,3)=bj

(1).xkrs+bj

(2).xkrs'语文

.Cells(bj

(1).njxh*3-1,4)=bj

(1).xkzf+bj

(2).xkzf

.Cells(bj

(1).njxh*3-1,5)=Round(.Cells(bj

(1).njxh*3-1,4)/.Cells(bj

(1).njxh*3-1,3),2)

.Cells(bj

(1).njxh*3-1,6)=bj

(1).xkjgr+bj

(2).xkjgr

.Cells(bj

(1).njxh*3-1,7)=bj

(1).xkyxr+bj

(2).xkyxr

.Cells(bj

(1).njxh*3-1,8)=hgrs

(1)+hgrs

(2)

.Cells(bj

(1).njxh*3,3)=bj(6).xkrs+bj(7).xkrs'数学

.Cells(bj

(1).njxh*3,4)=bj(6).xkzf+bj(7).xkzf

.Cells(bj

(1).njxh*3,5)=Round(.Cells(bj

(1).njxh*3,4)/.Cells(bj

(1).njxh*3,3),2)

.Cells(bj

(1).njxh*3,6)=bj(6).xkjgr+bj(7).xkjgr

.Cells(bj

(1).njxh*3,7)=bj(6).xkyxr+bj(7).xkyxr

.Cells(bj

(1).njxh*3,8)=hgrs

(1)+hgrs

(2)

.Cells(bj

(1).njxh*3+1,3)=bj(11).xkrs+bj(12).xkrs'英语

.Cells(bj

(1).njxh*3+1,4)=bj(11).xkzf+bj(12).xkzf

.Cells(bj

(1).njxh*3+1,5)=Round(.Cells(bj

(1).njxh*3+1,4)/.Cells(bj

(1).njxh*3+1,3),2)

.Cells(bj

(1).njxh*3+1,6)=bj(11).xkjgr+bj(12).xkjgr

.Cells(bj

(1).njxh*3+1,7)=bj(11).xkyxr+bj(12).xkyxr

.Cells(bj

(1).njxh*3+1,8)=hgrs

(1)+hgrs

(2)

EndWith

WithSheets("普小")'过录普小成绩

.Cells(bj

(1).njxh*3-1,3)=bj(3).xkrs+bj(4).xkrs+bj(5).xkrs'语文

.Cells(bj

(1).njxh*3-1,4)=bj(3).xkzf+bj(4).xkzf+bj(5).xkzf

.Cells(bj

(1).njxh*3-1,5)=Round(.Cells(bj

(1).njxh*3-1,4)/.Cells(bj

(1).njxh*3-1,3),2)

.Cells(bj

(1).njxh*3-1,6)=bj(3).xkjgr+bj(4).xkjgr+bj(5).xkjgr

.Cells(bj

(1).njxh*3-1,7)=bj(3).xkyxr+bj(4).xkyxr+bj(5).xkyxr

.Cells(bj

(1).njxh*3-1,8)=hgrs(3)+hgrs(4)+hgrs(5)

.Cells(bj

(1).njxh*3,3)=bj(8).xkrs+bj(9).xkrs+bj(10).xkrs'数学

.Cells(bj

(1).njxh*3,4)=bj(8).xkzf+bj(9).xkzf+bj(10).xkzf

.Cells(bj

(1).njxh*3,5)=Round(.Cells(bj

(1).njxh*3,4)/.Cells(bj

(1).njxh*3,3),2)

.Cells(bj

(1).njxh*3,6)=bj(8).xkjgr+bj(9).xkjgr+bj(10).xkjgr

.Cells(bj

(1).njxh*3,7)=bj(8).xkyxr+bj(9).xkyxr+bj(10).xkyxr

.Cells(bj

(1).njxh*3,8)=hgrs(3)+hgrs(4)+hgrs(5)

.Cells(bj

(1).njxh*3+1,3)=bj(13).xkrs+bj(14).xkrs+bj(15).xkrs'英语

.Cells(bj

(1).njxh*3+1,4)=bj(13).xkzf+bj(14).xkzf+bj(15).xkzf

.Cells(bj

(1).njxh*3+1,5)=Round(.Cells(bj

(1).njxh*3+1,4)/.Cells(bj

(1).njxh*3+1,3),2)

.Cells(bj

(1).njxh*3+1,6)=bj(13).xkjgr+bj(14).xkjgr+bj(15).xkjgr

.Cells(bj

(1).njxh*3+1,7)=bj(13).xkyxr+bj(14).xkyxr+bj(15).xkyxr

.Cells(bj

(1).njxh*3+1,8)=hgrs(3)+hgrs(4)+hgrs(5)

EndWith

Unloadexcel操作

EndSub

计算成绩:

三至六年级略。

计算成绩:

学校总评:

PrivateSub学校总评_Click()

Call打开工作表

Fori=1To6

C

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1