VBA超详细总结文档格式.docx
《VBA超详细总结文档格式.docx》由会员分享,可在线阅读,更多相关《VBA超详细总结文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
如何点击按钮实现简单加法运算?
Sub加法运算过程0
Xells(1,5)=Cells(l,l)+Cells(1,3)
Endsub
在开发工具选项卡中插入按钮控件,修改宏名为“加法运算过程笃新建'
这样就进入VBA编辑界面•这里的宏简单讲就是編程产生的一系列操作,而頁击別才插入的按钮就可以触发这些操作,这样一个点击操作就可以实现一系列的操作.
Ctrl+S保存,这里下拉菜单中文件保存类型选成“岩用宏的工作薄〃。
因为默认文件类型是默认禁用的,很多病蛊会通过宏传播,保存成Xlsx则丢失代码
右击按钮一编辑文字一修改为“加法”。
这里的加法是按钮显示出来的名称,和宏名不一样。
宏是编程产生的一系列操作过程,引用宏名就代表操作这一系列过程.而按钮可以指定不同的宏过程。
在开发工具选项卡中一宏一加法运篡过穆」编辑进入宏过程编辑界面•输入下面代码。
上面代码中,sub表示宏开始,endsub表示宏结束,“加法运算过程”是宏名,后面的括号可有可无。
宏rnacro
Cel1$是VBA中最基本的对象,Cells(行号,列号〉表示引用单元格,Cells(1,1)是指A1单元格的内容“
案例二:
如何点击按钮实现新建,保存,关闭,打开工作簿?
Workbook$•Add
ActiveWorkbookoSaveAs”C丨\users\Administrator\Desktop\工作簿4,xlsx”
ActiyeWorkbook.Close
Workbooks.OpenFilename:
=11C:
\Users\Administrator\Desktop\工作簿1。
xlsx
Workbooks(”工作簿l.xls).Close
解析:
拓展2Workbooks。
open("
路径"
)也可以打开文件
案例三:
走义函数:
(参数可以有多个.用逗号隔开)
Function乘积(a,b)
乘积=a*b
Endfunction
用函数名调用这个功能,可以在VBA中调用,也可以像其它函数一样调用。
括号内的参数可以有名个。
系统函数:
sqr(可平方根
如要在VBA中使用工作表中的函数,用
Apication.worksheetfunction.公式名称()直接调用括号中引用范围时,需要要用rati"
等调用,不能用“A1"
引用
过程分为子过程和函数
代码:
(1)
Sub按钮5_CIick()
Dimi?
j,totaI
DimwlAsWorksheet
Forj=2ToWorksheets.Count
Setwl=Worksheets(j)
i=2
total=0
DoWhi1ew1・Colls(1,2)<
>
"
totai=totalwl.Cells(i,2)
i=i+1
Loop
vvl.Cel1s(2,3)=total
Nextj
EndSub
(2)
Sub按钮6Click()
'
Call按祐5Click
Dimi
DimwlAsWorksheet,v/2AsWorksheet
Setw2=Worksheets
(1)
Fori=2ToWorksheets.Count
Setwl=WQrksheet$(i)
w2。
Ce1Is(i,1)=v/lsCells(1,2)w2.Cel1s(i,2)=va.Cells(2,3)
Nexti
EndSub
Sub按钮7_Click()
DimI?
j?
totaI
DimvvlAsWorksheetw2AsWorksheet
Set=Worksheets
(1)
For1=2ToWork$beetsoCount
Setw1=Worksheets(i)'
i循环工作衣
j=2'
j循环成绩
DoWhilevvloCells(j,2)<
)
total=total+wl.CeIls(j,2)
j=j+1
w1.CeIls〔2,3)=total
w2qCel1s(iz1)=wl.CeI1$(1#2)
w2.CellS(i?
2)=wl。
Cells(2f3)
Nexti
•Cal1按钮5_Click,为程序中的注释,只起解释作用,不会运算。
去掉,时,call+子过程,
表示调用这个子过程.Call是过程调用的关键字,当遇到call时,先运行调用的过程,再往下运行。
Sub,endsub即是一个子过程,宏是其小名.过程调用的call可以省略,只写出过程名.
案例五:
地址拆分
Sub地址拆分()
Cells(2,2)=Left(Cells(1,2),InStr(Cells"
2),"
县”)-1)
Cells⑶2)=MId(Ce|1s(l,2),InStr(Ce1Is(1,2),”县”)+lr
Instr(Cells(1,2),"
路"
)-InStr(Cells(1,2),"
县”)-1)
CelIs(4,2〉=Mid(Cells(1,2),InStr(Cells(l?
2),”路”〉+1,I
nstr(Cells(1,2),”号J—InStr(CelIs(1,2),"
"
)-1〉
拓展:
正则表达示处理字符串更容易
案例三重循环汇总
专题一:
常用类.对象、属性和方法
颜色:
vbred
RGB(r78fb)
类
Application代表EXCEL本身
Workbook工作簿
Worksheet表
Range区域
上下为从属关系
Cells引用单元格是工ange对象的属性
相对于rangeceIIs可以实现循坏
属性
Cells(行数,列数)。
value
Ce11s(行数,列数).fontosize
Cells〈行数,列数).font.color=
Cells(行数,列数).fontname字体大小
Cel1s(行数,列数).font.fontstyle字体加粗
Cells〈行数,列数).Interior.coloi■背景颜色
height单元格行高〔只能在显示中用)
Cells(行数,列数hrowheight行高(可以逬行设置也可以进行^$@1)0*显示)withrange.font
6.coIor=
.size=
Q.bold二ondwith
方法
Cells(行数〉列数)。
select
activeceII
Range引用多个单亓格区域
女D:
Range(nAlsA10,A18,rRange(ceIIs(lz1)zcells(10,1))属性
Rango。
cel1s
Range.value让选定区域的值都为某个数•此隔性可以省略,为默认值
range.font,size/color/italie/bold/=(bold为粗体1ta1ic为斜休(用turezfase确定)
range.Interior.color背景颜色
angQ.Interior.colorindex=7背景颜色
Rangedelete
RangedA2;
D1DH).Select
Rangef'
A2-D10fr).copy目标位宣
rangclearrange・clearcontentS
range。
clearformats淸除格式
range.merge/unmerge合幷/拆分单元格
Workbooks是T•作簿集对象
用WIoykbook("
办公费用"
[或WorkbookS(3)引用某个工作表属性
WorkbookSscount
Workbooks.add"
Workbooks,openC路径"
〉
Workbooks。
OpenFJ1eName:
二"
Array.x1s"
>
ReadOnly:
=True
Workbooks,close。
关闭所有打开的工作簿关闭所有工作簿
workbooks("
Xxx,,)oclose关闭特定工作簿
Workbooks,saveas“路径.扩矗名"
保存文件,此处不返回值,所以不用括号
V/orkb□oks
(1).Activate激活第一个工作簿
workbook是工作簿文件对象
Workbook.ActiveSheet
Workbook.Author
Workbook.saved
Workbook.name
Workbook.path
Workbook.Activate
Workbook.Close
Woi、kbook・Save
WorkbooksaveAs另•存为
Thisworkbook当前工作簿
Thisvvorkbook^name
Thisworkbook。
path
ThI$workbook・
Activeworkbook活动工作簿
Activ