蓝色幻想VBA.docx
- 文档编号:15234178
- 上传时间:2023-07-02
- 格式:DOCX
- 页数:14
- 大小:17.43KB
蓝色幻想VBA.docx
《蓝色幻想VBA.docx》由会员分享,可在线阅读,更多相关《蓝色幻想VBA.docx(14页珍藏版)》请在冰点文库上搜索。
蓝色幻想VBA
兰色幻想VBA80集第1集:
宏与V
B
A...................................................................................2兰色幻想VBA80集第2集:
VBA中的语句、对象、方法与属性.......................................4兰色幻想VBA80集第3集:
循环语句..................................................................................5兰色幻想VBA80集第4集:
判断语句..................................................................................7兰色幻想VBA80集第5集:
VBA变量DimmAsInteger......................................................8
兰色幻想VBA80集第1集:
宏与VBA'VBA中的对象其实就是我们操作的具有方法、属性的excel中支持的对象
'Excel中的几个常用对象表示方法'
1、"工作簿
'Workbooks代表工作簿集合,所有的工作簿,Workbooks(N),表示已打开的第N个工作簿
'Workbooks("工作簿名称")
'ActiveWorkbook正在操作的工作簿
'ThisWorkBook'代码所在的工作簿'
2、"工作表
''Sheets("工作表名称")
'Sheet1表示第一个插入的工作表,Sheet2表示第二个插入的工作表....
'Sheets(n)表示按排列顺序,第n个工作表
'ActiveSheet表示活动工作表,光标所在工作表
'worksheet也表示工作表,但不包括图表工作表、宏工作表等。
'
3、"单元格
'cells所有单元格
'Range("单元格地址")
'Cells(行数,列数)
'Activecell正在选中或编辑的单元格
'Selection正被选中或选取的单元格或单元格区域'一、"VBA属性
'VBA属性就是VBA对象所具有的特点
'表示某个对象的属性的方法是
'对象.属性=属性值
Subttt()
Range("a1").Value=100
EndSub
Subttt1()
Sheets
(1).Name="工作表改名了"
EndSub
Subttt2()
Sheets("Sheet2").Range("a1").Value="abcd"
EndSub
Subttt3()
Range("A2").Interior.ColorIndex=3
EndSub'二、"VBA方法
'VBA方法是作用于VBA对象上的动作
'表示用某个方法作用于VBA的对象上,可以用下面的格式:
Subttt4()
牛排.做熟的程度:
=七成熟
Range("A1").CopyRange("A2")
EndSub
Subttt5()
Sheet
1."Movebefore:
=Sheets("Sheet3")
EndSub
兰色幻想VBA80集第2集:
VBA中的语句、对象、方法与属性
'VBA语句'一、"宏程序语句
'运行后可以完成一个功能
Subtest()'开始语句
Range("a1")=100
EndSub'结束语句'二、"函数程序语句
'运行后可以返回一个值
Functionshcount()
shcount=Sheets.Count
EndFunction'三、"在程序中应用的语句
Subtest2()
Calltest
EndSub
Subtest3()
Forx=1To100'fornext循环语句
Cells(x,1)=x
Nextx
EndSub
兰色幻想VBA80集第3集:
循环语句
Sub判断1()'单条件判断
IfRange("a1").Value>0Then
Range("b1")="正数"
Else
Range("b1")="负数或0"
EndIf
EndSub
Sub判断2()'多条件判断
IfRange("a1").Value>0Then
Range("b1")="正数"
ElseIfRange("a1")=0Then
Range("b1")="等于0"
ElseIfRange("B1")<=0Then
Range("b1")="负数"
EndIf
EndSub
Sub多条件判断2()
IfRange("a1")<>""AndRange("a2")<>""Then
Range("a3")=Range("a1")*Range("a2")
EndIf
EndSubselect判断
Sub判断1()'单条件判断
SelectCaseRange("a1").Value
CaseIs>0
Range("b1")="正数"
CaseElse
Range("b1")="负数或0"
EndSelect
EndSub
Sub判断2()'多条件判断
SelectCaseRange("a1").Value
CaseIs>0
Range("b1")="正数"
CaseIs=0
Range("b1")="0"
CaseElse
Range("b1")="负数"
EndSelect
EndSub
Sub判断3()
IfRange("a3")<"G"Then
MsgBox"A-G"
EndIf
EndSub
判断范围
Subif区间判断()
IfRange("a2")<=1000Then
Range("b2")=
0."01
ElseIfRange("a2")<=3000Then
Range("b2")=
0."03
ElseIfRange("a2")>3000Then
Range("b2")=
0."05
EndIf
EndSub
Subselect区间判断()
SelectCaseRange("a2").Value
Case0To1000
Range("b2")=
0."01
Case1001To3000
Range("b2")=
0."03
CaseIs>3000
Range("b2")=
0."05
EndSelect
EndSub
兰色幻想VBA80集第4集:
判断语句
Subt1()
Range("d2")=Range("b2")*Range("c2")
Range("d3")=Range("b3")*Range("c3")
Range("d4")=Range("b4")*Range("c4")
Range("d5")=Range("b5")*Range("c5")
Range("d6")=Range("b6")*Range("c6")
EndSub
Subt2()
DimxAsInteger
Forx=100To2Step-3
Range("d"&x)=Range("b"&x)*Range("c"&x)
Nextx
EndSub
Subt3()
DimrgAsRange
ForEachrgInRange("d2:
d18")
rg=rg.Offset(0,-1)*rg.Offset(0,-2)
Nextrg
EndSub
Subt4()
DimxAsInteger
x=1
Do
x=x+1
Cells(x,4)=Cells(x,2)*Cells(x,3)
LoopUntilx=18
EndSub
Subt5()
x=1
DoWhilex<18
x=x+1
Cells(x,4)=Cells(x,2)*Cells(x,3)
Loop
EndSub
Subs1()
DimrgAsRange
ForEachrgInRange("a1:
b7,d5:
e9")
Ifrg=""Then
rg=0
EndIf
Nextrg
EndSub
Subs2()
DimxAsInteger
Do
x=x+1
IfCells(x+1,1)<>Cells(x,1)+1Then
Cells(x,2)="断点"
ExitDo
EndIf
LoopUntilx=14
EndSub
兰色幻想VBA80集第5集:
VBA变量
'变量'一、"什么是变量?
'所谓变量,就是可变的量。
就好象在内存中临时存放的一个小盒子,这个小盒子放的什么物体不固定。
Subt1()
DimXAsInteger'x就是一个变量
ForX=1To10
Cells(X,1)=X
NextX
EndSub'二、"小盒子里可以放什么?
'1放数字
'如t1
'2放文本
Subt2()
DimstAsString
DimXAsInteger
ForX=1To10
st=st&"Excel精英培训"
NextX
EndSub
'3放对象
Subt3()
DimrgAsRange
Setrg=Range("a1")
rg=100
EndSub
'4放数组
Subt4()
Dimarr(1To10)AsInteger,XAsInteger
ForX=1To10
arr(X)=X
NextX
EndSub'三、"变量的类型和声明
'1变量的类型
'详见帮助文件
'2为什么要声明变量
'3声明变量
'dimpublic'四、"变量的存活周期
'1过程级变量:
过程结束,变量值释放
'如t1
'2模块级变量:
变量的值只在本模块中保持,工作簿关闭时随时释放
'例5
Subt6()
m=1
EndSub
Subt5()
MsgBoxm
m=7
EndSub
'3全局级变量:
在所有的模块中都可以调用,值会保存到EXCEL关闭时才会被释放。
'public变量
Subt7()
MsgBoxqq
EndSub
'五变量的释放
'一般情况下,过程级变量在过程运行结束后就会自动从内存中释放,而只有一些从外部借用的对象变量才需要使用set变量=nothing进行释放。
兰色幻想VBA80集第6集:
函数与公式'
一、"在单元格中输入公式'
1、"用VBA在单元格中输入普通公式
Subt1()
Range("d2")="=b2*c2"
EndSub
Subt2()
DimxAsInteger
Forx=2To6
Cells(x,4)="=b"&x&"*c"&x
Nextx
EndSub'
2、"用VBA在单元格输入带引号的公式
Subt3()
Range("c16")="=SUMIF(A2:
A6,""b"",B2:
B6)"'遇到单引号就把单引号加倍
EndSub'
3、"用VBA在单元格中输入数组公式
Subt4()
Range("c9").FormulaArray="=SUM(B2:
B6*C2:
C6)"
EndSub'二、"利用单元格公式返回值
Subt5()
Range("d16")=Evaluate("=SUMIF(A2:
A6,""b"",B2:
B6)")
Range("d9")=Evaluate("=SUM(B2:
B6*C2:
C6)")
EndSub'三、"借用工作表函数
Subt6()
Range("d8")=Application.WorksheeFunction.CountIf(Range("A1:
A10"),"B")EndSub'四、"利用VBA函数
Subt7()
Range("C20")=V
B
A.InStr(Range("a20"),"E")
EndSub'五、"编写自定义函数
Functionwn()
wn=Application.Caller.Parent.Name
EndFunction
兰色幻想VBA80集第7集:
VBE编辑器'
一、"VBE的窗口'
1、"工程窗口
'A显示工作簿工作表对象
'B窗体
'C模块
'D类模块
'range("a1")=10
'对应工程窗口的对象和模板,显示其所具体的一些特征。
'
3、"代码窗口
'A注释文字的设置
'B代码缩进的设置
'C代码强制转行的设置
'D代码运行和调试
'逐句运行
'设置断点
'E对象列表框和过程列表框'
4、"立即窗口
'立即窗口可以把运行过程中的值立即显示出来,主要用于程序的调试
Subd()
DimxAsInteger,stAsString
Forx=1To10
st=st&Cells(x,1)
Debug.Print"第"&x&"次运行结果:
"&st
Nextx
EndSub'
5、"本地窗口
'在本地窗口中可以显示运行中断时对象信息、变量值、数组信息等。
Subd1()
DimxAsInteger,kAsInteger
Forx=1To10
k=k+Cells(x,1)
Nextx
EndSub
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 蓝色 幻想 VBA