当前位置

首页 > 商务英语 > 实用英语 > excel的宏是什么意思

excel的宏是什么意思

推荐人: 来源: 阅读: 1.37W 次

在Excel制作表格时,大家是否会遇到“宏”呢,它的主要用途是?下面是本站小编给大家整理的excel的宏是什么意思,供大家参阅!

excel的宏是什么意思
  excel的宏是什么意思

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

"记录宏"其实就是将工作的一系列操作结果录制下来,并命名存储(相当于VB中一个子程序)。在Excel 97中,"记录宏"仅记录操作结果,而不记录操作过程。例如,改变文字字体时,需要打开"字体"栏中的下拉列表,再选择一种字体,这时文字即变为所选择的字体,这是一个过程,结果是将所选择的文字改变为所选择的字体。而"记录宏"则只记录"将所选择的文字改变为所选择的字体"这一结果。

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

本人就利用Excel 97中所提供的宏功能来做学生成绩的分析处理程序。本程序是Excel中的一个文件,其中包含以下几个宏:分班、总分、平均分、分数段、删除等。

  Excel宏是什么大概意思

简单的说你可以把宏理解为一个记录器,它所记录的是你在Excel里每一步操作所导致的结果,并能将这些操作结果再次实现出来。

例如,你在开始录制宏后在A1单元格输入了“中国”两个字,然后结束录制宏。那么当你再次执行刚刚录制的宏,它就会自动在A1单元格输入“中国”两个字。

不过单纯的录制宏可实现的功能很有限(其实就是将你的操作原封不动的在来一遍),如果需要实现更多的功能就要对宏进行相应的编辑。

如果你想学的话,可以去百度上找下教程还是很好找的,搜Excel VBA教程就行

  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("高三理")ct

For i = 2 To studentno

bj(i) = s(i, 1)

nam$(i) = s(i, 2)

For j = 3 To zdno

a(i, j) = s(i, j)

Next j

Next i

'存放字段到数组中。

For i = 1 To zdno

zd$(i) = s(1, i)

Next i

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

Sheets("高三理")ct

Sheets("高三理") After:=Sheets("分数段")

Sheets("高三理 (2)")ct

Sheets("高三理 (2)") = "33"

For i = 2 To studentno

For j = 1 To zdno

s(i, j) = Space$(1)

Next j

Next i

Range("a1")ct

For i = 1 To zdno

s(1, i) = zd$(i)

Next i

'34到36班工作表的建立

For i = 34 To 36

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

Sheets(x$)ct

Sheets(x$) After:=Sheets("分数段")

Sheets(x$ + " (2)")ct

Sheets(x$ + " (2)") = Mid$(Str(i), 2)

Next i

'具体分班。

For k = 33 To 36

bjrs = 0

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

no = k Mod 10

Sheets(x$)ct

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

s(i, 1) = no

s(i, 2) = bjname$(i)

For j = 3 To zdno

s(i, j) = stu(i, j)

Next j

Next i

Next k

End Sub

二.总分

Const studentno = 190

Const xknum = 6

Const zdnum = 12

Sheets("高三理")ct

For i = 2 To studentno + 1

Sum = 0

For j = 1 To xknum

Sum = Sum + s(i, j + 3)

Next j

s(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("高三理")ct

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

For i = 1 To studentno

bj(i) = s(i + 1, 1)

For j = 1 To xknum

fs(i, j) = s(i + 1, j + 3)

Next j

Next i

For i = 1 To xknum

Sum = 0

For j = 1 To studentno

um = Sum + fs(j, i)

Next j

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

Next i

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

For j = 1 To 4

For i = 1 To studentno

Ifbj(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("平均分")ct

For i = 1 To 4

For j = 1 To 6

s(i + 2, j + 1) = pjf3(i, j)

Next j

Next i

'写入全校各科平均分

i = 7

For j = 1 To 6

s(i, j + 1) = qxpjf(j)

Next j

End Sub