excel宏教程.docx
- 文档编号:11726120
- 上传时间:2023-03-31
- 格式:DOCX
- 页数:13
- 大小:19.83KB
excel宏教程.docx
《excel宏教程.docx》由会员分享,可在线阅读,更多相关《excel宏教程.docx(13页珍藏版)》请在冰豆网上搜索。
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)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- excel 教程