Excel中的宏是什么意思

发布时间:2017-11-11    浏览:6918次
  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中的一个文件,其中包含以下几个宏:分班、总分、平均分、分数段、删除等。

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

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

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

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

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

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


 


  删除:用于删除不用的工作表。

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

  一.分班

  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

  二.总分

  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

  三.平均分VI设计

  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
推荐原创文章 / Original content

听说,牛势是值得依赖的品牌策划设计伙伴!最近,经常听到有客户说起这事。为此,也想聊聊我们做事的态度。

牛势走到今天,已近十个年头,诚然也走过一些弯路。成立之初,为批量获取客户,曾尝试低薪扩张团队,迎合低价市场。
幸运的是,短时间内便发现此举的弊端。为此,我们坚持:拒绝平庸,拒绝低端;要么不做,要么全力以赴。

我们需要客户。但很显然,我们没有能力服务所有企业。为此,我们提出:只服务执意打造卓越品牌的企业。
与其盲目的忙碌,不如聚焦精力服务优质客户,也是对自己和客户的一份要求吧。

执意打造卓越品牌,适度投入是必须的。比如设计品牌logo,一至三万是适度,低于一万别抱太多期待,高于10万大部分企业不易承受。
为此,我们始终坚守:高端出品,务实收费。在相同服务水平中比同行更实惠,在同一价位中给予更大价值。

从业这些年,目睹太多企业在品牌上浪费大量金钱和时间的心酸路。有为省钱,换来庸俗方案,亦有斥巨资,折腾两年后不欢而散的实例。
而后来,他们有些成为了牛势的铁杆伙伴。为此,我们提出核心宗旨:让企业在品牌路上少走弯路。

彼此的欣赏和信任才会有良好合作,我们不想您盲目的选择或者抛弃。
合作前,建议您至少花二十分钟,详细了解牛势。特别是 牛势的作品案例牛势对品牌的思想,及牛势的核心团队

外地客户:牛势外地客户占比超过50%,他们分布在山东、江苏、湖南、北京、上海、陕西、四川、内蒙等地。
本地客户:基于彼此时间珍贵和更有效地沟通,创作时我们可以上门考察,第一次洽谈必须到我司沟通。
如果您对品牌足够重视,我们邀请您到公司具体考察后再作确认!余犇、叁品松将给您最专业的品牌创造建议,让你在品牌上少走弯路。

0755- 2559 8982
(若要提前做方案,请勿打扰!)