宏
指的是一系列excel的操作动作,可以通过编写vba和录制宏完成。(vba可以理解为编写excel操作的代码)
vba基本语法
1.定义宏方法
sub 宏方法名()
‘在这中间编写代码’
end sub
2.'定义i的类型 整数/单元格/工作表/工作簿等'
dim i as integer/range/worksheet/workbook
3.循环语句
for i = 1 to 10
'编写需要循环的代码'
next
-----------------------------------------------------------------------------
for each i in sheets 'sheets工作表的集合'
‘编写需要循环的代码’
next
-----------------------------------------------------------------------------
‘在删除单元格或工作表的时候建议从后往前删’
for i = 10 to 1 step -1
next
4.if 语句
if 条件语句 then
‘执行的语句’
elseif 条件语句 then
'执行的语句'
else
'执行的语句'
end if
5.(range)单元格操作
可以用一下函数表示单元格:
range("a1")/range("a1:f10") ; [a1]/[a1:a10] ; cells(row,column) ;
对单元格操作属性:
range("a1").select '选中单元格'
range("a1").delete '删除单元格'
range("a1").copy range("a2") '将a1单元格拷贝到a2单元格'
range("a1").clearcontents ‘清空’
range("a1:f10").autofilter field:=1,criteria1:="需要过滤的名称" ' 在a1:f10通过第1列的criateria进行筛选'
单元格属性:
value
单元格格式
row ; column
entirerow '整行选取
resize '更改选取单元格范围 range("a1").resize(1,2) 等于 range("a1:a2")
6.(worksheet)工作表:
工作表的表示:
sheet1 \ sheets(1)\sheets("工作表名") 'sheets表示工作表的集合
sheets.count() ‘工作簿的的数量’
工作表的操作
sheets.add after:=sheets(1) '在工作表1后添加表
sheets(1).name="工作表名" ‘给工作表命名
sheets(1).delete ‘删除工作表
sheets(1).select ‘选中工作表
sheets(1).copy '会直接打开一个新的工作簿,复制该工作表
sheets(1).copy after:=sheets(1) '在指定单元格后面复制
7.(workbook)工作簿
workbooks.open filename:="文件绝对路径" ‘打开工作簿
activeworkbook.save/save as filename:="文件绝对路径" ‘工作簿另存为
activeworkbook.close ‘ 关闭工作簿
8.msgbox、inputbox
msgbox为提示框
inputbox 为输入框,可以将数值输入在inputbox中给宏使用
例如 dim i as integer
i=inputbox("可在这里输入提示语")
注意:如果不将i进行定义的话,i表示的是为字符
关闭提示框
tips:在删除工作表和工作簿时候会出现提示框,若想关闭提示框
可以执行:application.displayalert=false '关闭提示框'
操作完后设置会true,开启提示框