为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > Excel宏编程

Excel宏编程

2018-08-23 9页 doc 24KB 45阅读

用户头像

is_833902

暂无简介

举报
Excel宏编程Excel宏编程 Excel编编宏程 在Excel 97中,"宏"难难难难难难难难难难难难难难难难是一个以理解的概念,但于一个具体的"宏"而言,却是容易理解的,如果难"难难难难难难难难难难难难难难难难难难难难难难难难难将一文字注:黑体注:,字号注:三号注:"就可以看作一个"宏"难难难难的,那"宏"难难难难难难难就不理解了,其Excel 97难难难难难中的多操作都可以是一个"宏" 。   "难难宏"难难难难难难难难难难难难难难难难难难难难难难难难难难难难其就是将工作的一系列操作果制下来,并命名存,相当于VB中一个子程序,。在E...
Excel宏编程
Excel宏编程 Excel编编宏程 在Excel 97中,"宏"难难难难难难难难难难难难难难难难是一个以理解的概念,但于一个具体的"宏"而言,却是容易理解的,如果难"难难难难难难难难难难难难难难难难难难难难难难难难难将一文字注:黑体注:,字号注:三号注:"就可以看作一个"宏"难难难难的,那"宏"难难难难难难难就不理解了,其Excel 97难难难难难中的多操作都可以是一个"宏" 。   "难难宏"难难难难难难难难难难难难难难难难难难难难难难难难难难难难其就是将工作的一系列操作果制下来,并命名存,相当于VB中一个子程序,。在Excel 97中,"难难宏"难难难难难难难难难难难难操作果,而不操作难难难难难难难难难难难难程。例如,改文字字体,需要打"字体"难难难难难难难中的下拉列表,再一字体,难难难难难难难难难难难难难难难难难难难难难难难难难文字即所的字体,是一个程,果是将所 的文字改所的字体。而难难难难难难难难难难"难难宏"难难难只"难难难难难难难难难难难将所的文字改所的字体"难难难难 一果。   Excel 97难难难难难难难难难难难难难难难难难难难难难中工作表是由行和列成的二表格,我可以通系提供的句activesheet.cells(I,j),将当前工作表中的第I行第j难难难难难难列所在的元格中的数据取出,也可将它数据填入到指定的元格中,,然后反把它放难难难难难难难难难难难难入所定的数中,就可以其行各操作,如求难难难难难难难难难难难难难难难难难难难难难难 平均分、分、分数段人数等等。难难难难难难难难难难难   本人就利用Excel 97难难难难难难难中所提供的宏功能来做学生成的分析理程序。本程序是Excel难难难难中的一个文件,其中包含以下几个宏:分班、分、平均分、分数段、除等。难难难难   明:难难难?本程序是以本校高三理科班学生成行分析。难难难难难难      ?有程序中用到的几具宏的功能明:难难难难难难难难难难难难难难难难   分班:于以确定班的情况下,以班位行难难难难难难难难难难难难难难难难难难难难难分班,本宏可以作高一新生入学行分班的功能。难难难难难难难难难难难难难难难难   分:原始的成自求分。难难难难难难难难难难难难难难难   平均分:原始的成以班位行各学科平均成难难难难难难难难难难难难难难难难难难难难的算及全校各学科成的算。难难难难难难难难难难难难难难   分数段:定一个最高分数及最低分数,然后难难难难难难难难难难难难难难难难难难出各班各个分数段的人数,各分数段人数行累。难难难难难   除:用于除不用的工作表。难难难难难难难难难难难难难难   将各个宏的代列如下:难难难难难难难难难难难难难   ?分班   Sub 分班()  Const studentno = 191 难难难难难难 注:学生人数   Const zdno = 12 难难难难难 注:字段数   Dim zd$(zdno) 难难难难难注:定12难 个字段的数   Dim a(studentno, zdno), stu(60, zdno)   Dim nam$(studentno), bjname$(60) 难难难难难难难难难难难注:定一个存放全校学生名字及各班学生名字的数难   Dim bj(studentno) 难难难难难难难难难难难难难 注:定存放班的一个数  注:理科班工作表 难难难难难难难难   Sheets("高三理").Select   For i = 2 To studentno    bj(i) = ActiveSheet.Cells(i, 1)    nam$(i) = ActiveSheet.Cells(i, 2)    For j = 3 To zdno     a(i, j) = ActiveSheet.Cells(i, j)    Next j   Next i  注:存放字段到数中。 难难难难难难难难难难难   For i = 1 To zdno    zd$(i) = ActiveSheet.Cells(1, i)   Next i  注:先建立各个班的工作表 难难难难难难难难难难难难难   Sheets("高三理").Select   Sheets("高三理").Copy After:=Sheets("分数段")   Sheets(" 高三理(2)").Select   Sheets(" 高三理(2)").Name = "33"   For i = 2 To studentno    For j = 1 To zdno     ActiveSheet.Cells(i, j) = Space$(1)    Next j   Next i   Range("a1").Select   For i = 1 To zdno    ActiveSheet.Cells(1, i) = zd$(i)   Next i  注: 难难34到36 班工作表的建立   For i = 34 To 36    x$ = Mid$(Str(33), 2)    Sheets(x$).Select    Sheets(x$).Copy After:=Sheets("分数段")    Sheets(x$ " (2)").Select    Sheets(x$ " (2)").Name = Mid$(Str(i), 2)   Next i  注:具体分班。 难难难难难难难   For k = 33 To 36    bjrs = 0    x$ = Mid$(Str(k), 2)    no = k Mod 10    Sheets(x$).Select    For i = 2 To studentno     If bj(i) = no Then      bjrs = bjrs 1      bjname$(bjrs) = nam$(i)      For j = 3 To zdno       stu(bjrs, j) = a(i, j)      Next j     End If    Next i    For i = 2 To bjrs     ActiveSheet.Cells(i, 1) = no     ActiveSheet.Cells(i, 2) = bjname$(i)     For j = 3 To zdno      ActiveSheet.Cells(i, j) = stu(i, j)     Next j    Next i   Next k End Sub   ?难 分  Const studentno = 190   Const xknum = 6   Const zdnum = 12   Sheets("高三理").Select   For i = 2 To studentno 1    Sum = 0    For j = 1 To xknum     Sum = Sum ActiveSheet.Cells(i, j 3)    Next j    ActiveSheet.Cells(i, zdnum-1) = Sum   Next i End Sub   ?平均分 Sub 平均分()   Const studentno = 190   Const xknum = 6   Dim fs(studentno, xknum), pjf3(4, 6), bjrs(4), qxpjf(6)   Dim bj(studentno)   Sheets("高三理").Select  注:以下程序段用于求全校平均分 难难难难难难难难难难难难难难难   For i = 1 To studentno    bj(i) = ActiveSheet.Cells(i 1, 1)    For j = 1 To xknum     fs(i, j) = ActiveSheet.Cells(i 1, j 3)    Next j   Next i   For i = 1 To xknum    Sum = 0    For j = 1 To studentno     Sum = Sum fs(j, i)    Next j    qxpjf(i) = Sum / (j - 1)   Next i  注:以下程序段用于求各班平均分 难难难难难难难难难难难难难难难   For j = 1 To 4    For i = 1 To studentno     If bj(i) = j 2 Then      bjrs(j) = bjrs(j) 1      For k = 1 To xknum       pjf3(j, k) = pjf3(j, k) fs(i, k)      Next k     End If    Next i   Next j   For j = 1 To 4    For i = 1 To 6     pjf3(j, i) = pjf3(j, i) / bjrs(j)    Next i   Next j  注:写入各班各科平均分 难难难难难难难难难难难   Sheets("平均分").Select   For i = 1 To 4    For j = 1 To 6     ActiveSheet.Cells(i 2, j 1) = pjf3(i, j)    Next j   Next i  注:写入全校各科平均分 难难难难难难难难难难难   i = 7   For j = 1 To 6    ActiveSheet.Cells(i, j 1) = qxpjf(j)   Next j End Sub ?分数段 Sub 分数段()   Const max = 600   Const min = 390   Const studentno = 190   Const bjnum = 4   Const fsdnum = 22   Dim bjfsd(bjnum, fsdnum), zf(studentno, 2)   Sheets("高三理").Select   For i = 1 To studentno    zf(i, 1) = ActiveSheet.Cells(i 1, 1) 难难难难难难 注:存放班    zf(i, 2) = ActiveSheet.Cells(i 1, 11) 难难难难难难 注:存放分   Next i  For i = 1 To studentno    For j = 1 To 4 难难注:3---6班共4难 个班     If zf(i, 1) = j 2 Then      For k = max To min Step -10       low = Int((max 10 - k) / 10)       If zf(i, 2) > k Then bjfsd(j, low) = bjfsd(j, low) 1      Next k     End If    Next j   Next i   Sheets("sheet3").Select   For i = 3 To 6    For k = 1 To fsdnum     ActiveSheet.Cells(i, k 1) = bjfsd(i - 2, k)    Next k   Next i   Range("M3:W6").Select   Selection.Cut   ActiveWindow.LargeScroll ToRight:=-1   Range("B8").Select   ActiveSheet.Paste End Sub   ? 难 除 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 End Sub
/
本文档为【Excel宏编程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索