VBA-操作工作表
第一讲:录制宏及for循环
for循环:
sub shihsi()
dim i as integer
for i = 1 to 100 step 2 (设置步长)
range("a"&i) = i
next
end sub
一些概念:
方法:表示动作的操作叫做方法
属性:表示固有的属性,如有多少个单元格等,属性不能单独操作 如 sheets.count 会报错,是只读的属性。
............................................................................................................................
第二讲:if逻辑操作
if逻辑操作
sub shishi()
if range("a1") ="男" then
range("b1") = "先生"
else if range("a1") ="女" then
range("b1") = "女士"
else
range("b1") = " "
end if
end sub
if 控制for循环
sub shishi()
for i = 1 to 100
if range("a"&i)="" then
exit for
end if
next
end sub
............................................................................................................................
第三讲:工作表操作
工作表的选择:
sheets代表的是表的集合,不是指具体哪个表:
sheet1.select :表示选择名字为sheet1的工作表
sheets("1月").select :表示选择名称叫做“1月”工作表
sheets(1).select :表示选择众多工作表中的第一个工作表
单元格的赋值:
[a1 ] =6 :对A1单元格进行赋值,只能这样选择 比较死板
range("a1") = 6 :对A1单元格进行赋值,比较灵活
单元格的选择
range("a1") = 6 :这个的意思是当前表格的a1单元格赋值为6
sheet3.range("a1") = 6 :这个对固定sheet3的单元格进行赋值
工作表的增:
sheets.add :可以新增一个单元表,add 后面有参数 before after count 等
sheets.add after:=sheet3,count:=3 :在sheet3 后边添加3张单元表
sheets.add after:=sheets(sheets.count) :sheets.count能够得到所有表格的数目,然后 每天添加在表格最后一个添加表
工作表的命名
range("a1")=sheet1.name 表的名字是属性
sheet1.name = "8月" 更改名字
工作表的删除:
Sub shishi()
'新增100张工作表
Sheets.Add Count:=100 新增100个工作表
'删除100张工作表
Excel.Application.DisplayAlerts = False 关闭告警提示 因为在删除工作表的时候会有对话框告警提示 用此关闭告警
Sheets(1).Delete 永远删除第一个工作表
Excel.Application.DisplayAlerts = True 关闭之后要再开启 前面的excel 是可以去掉不写的
End Sub
工作表的赋值:
sheet1.copy 这个会将工作表sheet1进行复制 然后重新再建一个工作簿
sheet1.copy after:=sheets(sheets.count) 在最后一个表格后面进行赋值sheet1
sheets与worksheets的区别
sheets指的是全部的工作表,而worksheets指的不光是sheet工作表还有图表等的集合。