Excel精品宏教程.docx

上传人:b****6 文档编号:16565585 上传时间:2023-07-14 格式:DOCX 页数:18 大小:19.73KB
下载 相关 举报
Excel精品宏教程.docx_第1页
第1页 / 共18页
Excel精品宏教程.docx_第2页
第2页 / 共18页
Excel精品宏教程.docx_第3页
第3页 / 共18页
Excel精品宏教程.docx_第4页
第4页 / 共18页
Excel精品宏教程.docx_第5页
第5页 / 共18页
Excel精品宏教程.docx_第6页
第6页 / 共18页
Excel精品宏教程.docx_第7页
第7页 / 共18页
Excel精品宏教程.docx_第8页
第8页 / 共18页
Excel精品宏教程.docx_第9页
第9页 / 共18页
Excel精品宏教程.docx_第10页
第10页 / 共18页
Excel精品宏教程.docx_第11页
第11页 / 共18页
Excel精品宏教程.docx_第12页
第12页 / 共18页
Excel精品宏教程.docx_第13页
第13页 / 共18页
Excel精品宏教程.docx_第14页
第14页 / 共18页
Excel精品宏教程.docx_第15页
第15页 / 共18页
Excel精品宏教程.docx_第16页
第16页 / 共18页
Excel精品宏教程.docx_第17页
第17页 / 共18页
Excel精品宏教程.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Excel精品宏教程.docx

《Excel精品宏教程.docx》由会员分享,可在线阅读,更多相关《Excel精品宏教程.docx(18页珍藏版)》请在冰点文库上搜索。

Excel精品宏教程.docx

Excel精品宏教程

【Excel精品宏教程】

一、  选中单个单元格

Range(“<单元格地址>“).Select

 

例:

Range("C9").Select  ‘选中“C9”单元格

 

二、  选中多个单元格

Range(“<单元格地址>:

<单元格地址>[,<单元格地址>……]”).Select

 

例:

Range(“A1:

B2”).Select  ‘选中“A1”、“A2”、“B1”、“B2”四个连续的单元格

Range(“12:

12”).Select  ‘选中第12行

Range(“B:

B”).Select  ‘选中第B列

Range(“A1:

A2,B7,2:

2”).Select  ‘选中“A1”、“A2”、“B7”五个不连续的单元格和第二行

Cells.Select  ‘选中当前SHEET中的所有单元格

 

Rows("<行地址>:

<行地址>").Select  ‘选中整行

Columns("<列地址>:

<列地址>").Select  ‘选中整列

 

例:

Rows(“2:

2”).Select  ‘选中第2行

Rows(“2:

5”).Select  ‘选中2到5行

Columns("A:

A").Select  ‘选中A列

Columns("E:

B").Select  ‘选中E到B列

 

三、  设置活动单元格

Range("<单元格地址>").Activate

 

注:

设置活动单元格与选中单元格类似,不同之处就是

后者在选中指定的单元格之前会将在此前已被选中的单元格取消掉。

前者在设置之前不会取消已选中的单元格,

如果此时操作的单元格不是被选中的单元格,这时他实现的功能与选一个单元格相同。

 

四、  给活动的单元格赋值

ActiveCell.FormulaR1C1=<值>

 

例:

Range("A1").Select

ActiveCell.FormulaR1C1="Name"

Range("B1").Select

ActiveCell.FormulaR1C1="Age"

Range("A2:

B3").Select

Range("A2").Activate

ActiveCell.FormulaR1C1="BUG"

Range("B2").Activate

ActiveCell.FormulaR1C1="12"

Range("A3").Activate

ActiveCell.FormulaR1C1="Archer"

Range("B3").Activate

ActiveCell.FormulaR1C1="37"

 

五、  得到指定单元格中的值

Range("<单元格地址>").Text

 

六、  插入单元格

Selection.InsertShift:

=

Selection.EntireRow.Insert

Selection.EntireColumn.Insert

 

例:

Selection.InsertShift:

=xlToRight  ‘在当前选中单元格的位置插入单元格并将当前选中的单元格向右移动

Selection.InsertShift:

=xlDown  ‘在当前选中单元格的位置插入单元格并将当前选中的单元格向下移动

Selection.EntireRow.Insert  ‘在当前选中单元格的上面插入一行

Selection.EntireColumn.Insert  ‘在当前选中单元格的左侧插入一列

 

七、  设置字体属性

1.      设置字体名称和大小

Selection.Font.Name=<字体名称>

Selection.Font.Size=<字号>

 

例:

Selection.Font.Name="隶书"

Selection.Font.Size=15

2.    设置字体样式

Selection.Font.Bold=  ‘加粗

Selection.Font.Italic=  ‘斜体

Selection.Font.Underline=  ‘下划线

 

XlUnderlineStyle(下划线样式):

xlUnderlineStyleDouble  ‘双下划线

xlUnderlineStyleDoubleAccounting  ‘会计用双下划线(如果当前单元格中的数据是数字时则下划线的宽度是当前单元格的宽度)

xlUnderlineStyleNone  没有下划线

xlUnderlineStyleSingle  ‘单下划线

xlUnderlineStyleSingleAccounting  ‘会计用单下划线(如果当前单元格中的数据是数字时则下划线的宽度是当前单元格的宽度)

3.    设置字体的颜色

Selection.Font.ColorIndex=<0到56之间的数字>

Selection.Font.Color=

4.    设置字体的特殊效果

Selection.Font.Strikethrough=  ‘删除线

Selection.Font.Superscript=  ‘上标

Selection.Font.Subscript=  ‘下标

 

八、  清空选中单元格里的内容

Selection.ClearContents

 

例:

Range(“A1:

A2,B7,2:

2”).Select  ‘选中“A1”、“A2”、“B7”五个不连续的单元格和第二行

Selection.ClearContents  ‘清空“A1”、“A2”、“B7”五个不连续单元格中的所有内容

 

九、  设置选中单元格的边线属性

XlBordersIndex(边线):

xlEdgeLeft  '单元格左边线

xlEdgeTop  ‘单元格上边线

xlEdgeRight  ‘单元格右边线

xlEdgeBottom  ‘单元格下边线

xlDiagonalDown  ‘单元格左上右下斜线

xlDiagonalUp  ‘单元格左上右下斜线

xlInsideVertical  ‘多个单元格内垂直线

xlInsideHorizontal  ‘多个单元格内水平线

 

1.      设置边线的类型

Selection.Borders(<边线>).LineStyle=

 

XlLineStyle(边线类型):

xlLineStyleNone  ‘无样式

xlContinuous  ‘单线

xlDash  ‘破折号线(间隔线)

xlDashDot  ‘破折号点线

xlDashDotDot  ‘破折号点点线

xlDot  ‘点线

xlDouble  ‘双横线

xlSlantDashDot  ‘斜点线

2.    设置边线的宽度

Selection.Borders(<边线>).Weight=

 

XlBorderWeight(宽度值):

xlHairline  ‘极细

xlThin  ‘细

xlMedium  ‘中等

xlThick  ‘粗

3.    设置边线的颜色

Selection.Borders(xlEdgeLeft).ColorIndex=<0到56之间的数字>

Selection.Borders(xlEdgeLeft).Color=

 

十、  删除选中的单元格

Selection.Delete

Selection.EntireRow.Delete

Selection.EntireColumn.Delete

 

例:

Selection.DeleteShift:

=xlToLeft  ‘删除选中的单元格,并将已删除单元格所在位置右面的单元格向左移动

Selection.DeleteShift:

=xlUp  ‘删除选中的单元格,并将已删除单元格所在位置下面的单元格向上移动

Selection.EntireRow.Delete  ‘删除选中单元格所在的行

Selection.EntireColumn.Delete  ‘删除选中单元格所在的列

 

十一、设置单元格背景色及图案

1.      背景色

Selection.Interior.ColorIndex=<0到56之间的数字>

Selection.Interior.Color=

2.    图案样式

Selection.Interior.Pattern=

 

Constants(图案样式):

xlSolid  '实心      

xlGray75  '75%灰色      

xlGray50  '50%灰色      

xlGray25  '25%灰色      

xlGray16  '12.5%灰色      

xlGray8  '6.25%灰色      

xlHorizontal  '水平条纹      

xlVertical  '垂直条纹      

xlDown  '逆对角线条纹      

xlUp  '对角线条纹      

xlChecker  '对角线剖面线      

xlSemiGray75  '粗对角线剖面线      

xlLightHorizontal  '细水平条纹      

xlLightVertical  '细垂直条纹      

xlLightDown  '细逆对角线条纹      

xlLightUp  '细对角线条纹      

xlGrid  '细水平剖面线      

xlCrissCross  '细对角线剖面线      

3.    图案颜色

Selection.Interior.PatternColorIndex=<0到56之间的数字>

Selection.Interior.PatternColor=

 

十二、返回工作表中的行数

Sheet1.UsedRange.Rows.Count  ‘返回从最小已输入内容的行号到最大已输入内容的行号之间的行数

Sheet1.UsedRange.Rows(Sheet1.UsedRange.Rows.Count).Row  ‘最大已输入内容的行号

 

十三、得到当前EXCEL的文件名

ThisWorkbook.Path  ‘文件路径

ThisWorkbook.Name  ‘文件名

ThisWorkbook.FullName  ‘全路径

 

十四、批注的操作

1.      添加批注

AddComment([Content])

 

例:

Range("A1").AddComment("Writesthecontentinhere!

")

2.    修改批注内容

Comment.Text

 

例:

Range("B1").Comment.TextText:

="Writesthecontentinhere!

"

3.    显示/隐藏批注

Comment.Visible=

4.    删除批注

ClearComments

 

例:

Selection.Range("B1").ClearComments

5.    选中批注

Comment.Shape.SelectTrue

 

例:

Range("D8").Comment.Shape.SelectTrue

6.    改变批注大小和位置

Selection.ShapeRange.ScaleWidth<宽度比例>,msoFalse,

Selection.ShapeRange.ScaleHeight<高度比例>,msoFalse,

 

例:

Selection.ShapeRange.ScaleWidth1.5,msoFalse,msoScaleFromTopLeft  ‘每次增加5%的宽度

Selection.ShapeRange.ScaleHeight0.6,msoFalse,msoScaleFromTopLeft  ‘每次减少6%的宽度

 

Selection.ShapeRange.Left=<左边距>

Selection.ShapeRange.Top=<上边距>

Selection.ShapeRange.Width=<宽度值>

Selection.ShapeRange.Height=<高度值>

 

十五、剪切、复制、粘贴

Selection.Cut  ‘剪切

Selection.Copy  ‘复制

ActiveSheet.Paste  ‘粘贴

 

例:

Range("A1").Select

Selection.Cut

Range("A2").Select

ActiveSheet.Paste

Selection.Copy

Range("A3").Select

ActiveSheet.Paste

 

十六、选择性粘贴

Selection.PasteSpecial

 

十七、改变列宽

Selection.ColumnWidth=<宽度值>  ‘指定列宽

 

例:

Columns("A:

A").Select

Selection.ColumnWidth=30  ‘改变已选列的宽度

 

EntireColumn.AutoFit  ‘自动改变列宽

 

例:

Columns("C:

C").EntireColumn.AutoFit  ‘根据C列的内容自动改变列的宽度

在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

  ⑵总分

 Sub总分()

Conststudentno=191

  Constxknum=6

  Constzdnum=12

  Sheets("高三理").Select

  Fori=2Tostudentno

    Sum=0

    Forj=1Toxknum

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

    Nextj

    ActiveSheet.Cells(i,zdnum-3)=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(i1,1)

  Forj=1Toxknum

   fs(i,j)=ActiveSheet.Cells(i1,j3)

  Nextj

 Nexti

 Fori=1Toxknum

  Sum=0

  Forj=1Tostudentno

   Sum=Sumfs(j,i)

  Nextj

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

 Nexti

 注释:

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

 Forj=1To4

  Fori=1Tostudentno

   Ifbj(i)=j2Then

    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(i2,j1)=pjf3(i,j)

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

当前位置:首页 > 自然科学 > 物理

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

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