概述:
执行结果:(ctrl+w 刚才我设置的)
《别怕,ExcelVBA其实很简单》学习
默认采用Excel 2007
1、什么是宏?
宏就是录制你的行为,重复使用和回放。
2、用宏录下Excel操作
默认情况下你可能没有开放工具选项卡,需要设置
录制一个简单隔行填色:
步骤一:创建一个宏 (注意快捷键不要覆盖常用的快捷键,例如Ctrl+C, Ctrl+A,Ctrl+V 等等)
步骤二:录制你的行为。(必须要达到这个效果)
步骤三:使用宏
(首先你可以取消这个样式或者删除这两行)执行宏将会看到预期的效果
方式1:快捷键Ctrl+w(你设置的快捷键)
方式2:
那么问题来了,那天忘记快捷键,怎么办?给你弄个按钮吧
下一步
当然你可以右键修改按钮的文本信息来告诉我们这是干啥用的按钮
3、开启宏
Excel为了保护文档会禁止开启宏,所以需要自己进行设置开启
4、思考宏(是时候亮相VBA)
心里想宏也不过如此,只能做重复死工作,一点智能没有。VBA(Visual Basic For Application)可以更加灵活完成工作,例如:填充100行,隔行填充不同颜色,难道还要手工输入吗?这。。有点不人道了。。。,坚信既然是机器的活,让它自己去做。
其实在录制宏过程中生成VBA代码了,现在我们修改代码来完成目的,填充100行,隔行填充
修改前的代码
Sub 第一个宏()
'
' 第一个宏 Macro
' 隔行换色
'
' 快捷键: Ctrl+w
'修改前的代码
'
Rows("1:1").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Rows("2:2").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 5287936
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End Sub
改过之后的代码:
Sub 第一个宏()
'
' 第一个宏 Macro
' 隔行换色
'
' 快捷键: Ctrl+w
'修改后代码
'
Dim i As Long '声明一个变量为i
For i = 1 To 100 '从 1到100循环
If i Mod 2 = 0 Then 'i 对2取模,也就是余数是多少
Rows("" & i & ":" & i & "").Select '选择Excel对应行,这个行是一个变量,用&进行连接最后格式如"2:2"
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Else
Rows("" & i & ":" & i & "").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 5287936
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End If 'If End If注意成对出现
Next 'For Next注意成对出现
End Sub
执行结果:(ctrl+w 刚才我设置的)