利用Excel 的宏功能来做学生成绩的分析处理程序.docx

上传人:b****3 文档编号:4201563 上传时间:2023-05-06 格式:DOCX 页数:8 大小:276.97KB
下载 相关 举报
利用Excel 的宏功能来做学生成绩的分析处理程序.docx_第1页
第1页 / 共8页
利用Excel 的宏功能来做学生成绩的分析处理程序.docx_第2页
第2页 / 共8页
利用Excel 的宏功能来做学生成绩的分析处理程序.docx_第3页
第3页 / 共8页
利用Excel 的宏功能来做学生成绩的分析处理程序.docx_第4页
第4页 / 共8页
利用Excel 的宏功能来做学生成绩的分析处理程序.docx_第5页
第5页 / 共8页
利用Excel 的宏功能来做学生成绩的分析处理程序.docx_第6页
第6页 / 共8页
利用Excel 的宏功能来做学生成绩的分析处理程序.docx_第7页
第7页 / 共8页
利用Excel 的宏功能来做学生成绩的分析处理程序.docx_第8页
第8页 / 共8页
亲,该文档总共8页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

利用Excel 的宏功能来做学生成绩的分析处理程序.docx

《利用Excel 的宏功能来做学生成绩的分析处理程序.docx》由会员分享,可在线阅读,更多相关《利用Excel 的宏功能来做学生成绩的分析处理程序.docx(8页珍藏版)》请在冰点文库上搜索。

利用Excel 的宏功能来做学生成绩的分析处理程序.docx

利用Excel的宏功能来做学生成绩的分析处理程序

利用Excel的宏功能来做学生成绩的分析处理程序

Excel电子表格软件是应用最广泛的软件之一,它的数据处理、图表功能及各种函数和工具深受广大用户的喜爱。

Excel文件是一个工作薄,一个工作薄最多可以包含255个工作表,每个工作表又可以包含大量的数据。

  Excel的强大优势还在于它提供的宏语言VisualBasicforApplication(VBA).VisualBasic是windows环境下开发应用软件的一种通用程序设计语言,功能强大,简便易用。

VBA是它的一个子集,可以广泛地应用于Microsoft公司开发的各种软件中,例如Word、Excel、Access等。

  那么,"宏"到底是什么呢?

  在Excel97中,"宏"是一个难以理解的概念,但对于一个具体的"宏"而言,却是容易理解的,如果说"将一块文字变为'黑体',字号为'三号'"就可以看作一个"宏"的话,那么"宏"就不难理解了,其实Excel97中的许多操作都可以是一个"宏"。

  "记录宏"其实就是将工作的一系列操作结果录制下来,并命名存储(相当于VB中一个子程序)。

在Excel97中,"记录宏"仅记录操作结果,而不记录操作过程。

例如,改变文字字体时,需要打开"字体"栏中的下拉列表,再选择一种字体,这时文字即变为所选择的字体,这是一个过程,结果是将所选择的文字改变为所选择的字体。

而"记录宏"则只记录"将所选择的文字改变为所选择的字体"这一结果。

  Excel97中工作表是由行和列组成的二维表格,我们可以通过系统提供的语句activesheet.cells(I,j),将当前工作表中的第I行第j列所在的单元格中的数据取出(也可将它数据填入到指定的单元格中),然后反把它放入所定义的数组中,这时就可以对其进行各种操作,如求平均分、总分、分数段人数等等。

  本人就利用Excel97中所提供的宏功能来做学生成绩的分析处理程序。

本程序是Excel中的一个文件,其中包含以下几个宏:

分班、总分、平均分、分数段、删除等。

【简介】

  利用Excel的宏功能来做学生成绩的分析处理程序,包含:

分班、总分、平均分、分数段、删除等。

  本程序是以本校高三理科班学生成绩进行分析。

  有关程序中用到的几具宏的功能说明:

  分班:

针对于难以确定班级的情况下,以班为单位进行分班,本宏可以作为高一新生入学时进行分班的功能。

  总分:

对原始的成绩自动求总分。

  平均分:

对原始的成绩以班为单位进行各学科平均成绩的计算及全校各学科成绩的计算。

  分数段:

给定一个最高分数及最低分数,然后统计出各班各个分数段的人数,各分数段人数进行累计。

  删除:

用于删除不用的工作表。

  现将各个宏的代码列举如下:

一.分班

Sub分班()

Conststudentno=191'学生人数

Constzdno=12'字段数

Dimzd$(zdno)'定义为12个字段的数组

Dima(studentno,zdno),stu(60,zdno)

Dimnam$(studentno),bjname$(60)'定义一个存放全校学生名字及各班学生名字的数组

Dimbj(studentno)'定义存放班级的一个数组

'理科班工作表

Sheets("高三理").Select

Fori=2Tostudentno

 bj(i)=ActiveSheet.Cells(i,1)

 nam$(i)=ActiveSheet.Cells(i,2)

 Forj=3Tozdno

  a(i,j)=ActiveSheet.Cells(i,j)

 Nextj

Nexti

'存放字段到数组中。

Fori=1Tozdno

 zd$(i)=ActiveSheet.Cells(1,i)

Nexti

'先建立各个班级的工作表

  Sheets("高三理").Select

  Sheets("高三理").CopyAfter:

=Sheets("分数段")

  Sheets("高三理

(2)").Select

  Sheets("高三理

(2)").Name="33"

  Fori=2Tostudentno

    Forj=1Tozdno

        ActiveSheet.Cells(i,j)=Space$

(1)

    Nextj

  Nexti

  Range("a1").Select

  Fori=1Tozdno

    ActiveSheet.Cells(1,i)=zd$(i)

  Nexti

'34到36班工作表的建立

  Fori=34To36

    x$=Mid$(Str(33),2)

  Sheets(x$).Select

  Sheets(x$).CopyAfter:

=Sheets("分数段")

  Sheets(x$+"

(2)").Select

  Sheets(x$+"

(2)").Name=Mid$(Str(i),2)

  Nexti

'具体分班。

 Fork=33To36

  bjrs=0

  x$=Mid$(Str(k),2)

  no=kMod10

  Sheets(x$).Select

  Fori=2Tostudentno

    Ifbj(i)=noThen

      bjrs=bjrs+1

      bjname$(bjrs)=nam$(i)

      Forj=3Tozdno

       stu(bjrs,j)=a(i,j)

      Nextj

    EndIf

  Nexti

 Fori=2Tobjrs

  ActiveSheet.Cells(i,1)=no

  ActiveSheet.Cells(i,2)=bjname$(i)

  Forj=3Tozdno

   ActiveSheet.Cells(i,j)=stu(i,j)

  Nextj

 Nexti

 Nextk

EndSub

【简介】

  利用Excel的宏功能来做学生成绩的分析处理程序,包含:

分班、总分、平均分、分数段、删除等。

二.总分

Conststudentno=190

Constxknum=6

Constzdnum=12

 Sheets("高三理").Select

  Fori=2Tostudentno+1

   Sum=0

   Forj=1Toxknum

    Sum=Sum+ActiveSheet.Cells(i,j+3)

   Nextj

   ActiveSheet.Cells(i,zdnum-1)=Sum

  Nexti

EndSub

三.平均分

Sub平均分()

Conststudentno=190

Constxknum=6

Dimfs(studentno,xknum),pjf3(4,6),bjrs(4),qxpjf(6)

Dimbj(studentno)

Sheets("高三理").Select

'以下程序段用于求全校平均分

Fori=1Tostudentno

 bj(i)=ActiveSheet.Cells(i+1,1)

 Forj=1Toxknum

  fs(i,j)=ActiveSheet.Cells(i+1,j+3)

 Nextj

Nexti

Fori=1Toxknum

 Sum=0

  Forj=1Tostudentno

   um=Sum+fs(j,i)

  Nextj

  qxpjf(i)=Sum/(j-1)

Nexti

'以下程序段用于求各班平均分

  Forj=1To4

   Fori=1Tostudentno

    Ifbj(i)=j+2Then

      bjrs(j)=bjrs(j)+1

      Fork=1Toxknum

        pjf3(j,k)=pjf3(j,k)+fs(i,k)

      Nextk

    EndIf

   Nexti

  Nextj

Forj=1To4

 Fori=1To6

  pjf3(j,i)=pjf3(j,i)/bjrs(j)

 Nexti

Nextj

'写入各班各科平均分

Sheets("平均分").Select

Fori=1To4

 Forj=1To6

  ActiveSheet.Cells(i+2,j+1)=pjf3(i,j)

 Nextj

Nexti

'写入全校各科平均分

i=7

Forj=1To6

 ActiveSheet.Cells(i,j+1)=qxpjf(j)

Nextj

EndSub

【简介】

  利用Excel的宏功能来做学生成绩的分析处理程序,包含:

分班、总分、平均分、分数段、删除等。

四.分数段

Sub分数段()

Constmax=600

Constmin=390

Conststudentno=190

Constbjnum=4

Constfsdnum=22

Dimbjfsd(bjnum,fsdnum),zf(studentno,2)

Sheets("高三理").Select

Fori=1Tostudentno

  zf(i,1)=ActiveSheet.Cells(i+1,1)'存放班级

  zf(i,2)=ActiveSheet.Cells(i+1,11)'存放总分

Nexti

Fori=1Tostudentno

 Forj=1To4'3---6班共4个班级

   Ifzf(i,1)=j+2Then

     Fork=maxTominStep-10

       low=Int((max+10-k)/10)

       Ifzf(i,2)>kThenbjfsd(j,low)=bjfsd(j,low)+1

     Nextk

   EndIf

 Nextj

Nexti

Sheets("sheet3").Select

Fori=3To6

 Fork=1Tofsdnum

  ActiveSheet.Cells(i,k+1)=bjfsd(i-2,k)

 Nextk

Nexti

  Range("M3:

W6").Select

  Selection.Cut

  ActiveWindow.LargeScrollToRight:

=-1

  Range("B8").Select

  ActiveSheet.Paste

EndSub

五.删除

Sub删除()

  Sheets("33").Select

  ActiveWindow.SelectedSheets.Delete

  Sheets("34").Select

  ActiveWindow.SelectedSheets.Delete

  Sheets("35").Select

  ActiveWindow.SelectedSheets.Delete

  Sheets("36").Select

  ActiveWindow.SelectedSheets.Delete

EndSub

-

六.本程序的界面及各个宏运行的结果

 

平均分统计结果:

 

总分统计结果:

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2