全程使用兰色幻想80讲的课程,今天的主要内容包括
- 1.什么是VBA
- 2.VBA的对象、方法和属性
- 3.判断语句
- 4.今日彩蛋-自动设置目录代码
1、什么是VBA, 如何录制一个宏。如何快速启动VBA编辑器(alt+F11), VBA各个界面的介绍(这个百度一下大体了解即可)。
2、VBA的对象、方法和属性
a. VBA的对象:
- 工作簿的表达方法:Workbooks; Workbooks(N);Workbooks ("工作簿名称");ActiveWorkbook;ThisWorkBook
- 工作表的表达方法:Sheets("工作表名称"),Sheet1,Sheets(n),ActiveSheet,worksheet
- 单元格的表示方法:cells 所有单元格;Range ("单元格地址");Cells(行数,列数);Activecell 正在选中或编辑的单元格;Selection 正被选中或选取的单元格或单元格区域
b. VBA的属性
- 属性是VBA对象的特点。语法结构是“对象.属性=属性值”
- 例如:ange("a1").Value = 100;Sheets(1).Name = "工作表改名了",Sheets("Sheet2").Range("a1").Value = "abcd",Range("A2").Interior.ColorIndex = 3
c. VBA的方法
- VBA方法是作用于VBA对象上的动作;
- 语法结构举例如下:Range("A1").Copy Range("A2");Sheet1.Move before:=Sheets("Sheet3")
3、VBA判断语句
- if 判断语句
Sub 判断1() '单条件判断
If Range("a1").Value > 0 Then
Range("b1") = "正数"
Else
Range("b1") = "负数或0"
End If
End Sub
Sub 判断2() '多条件判断
If Range("a1").Value > 0 Then
Range("b1") = "正数"
ElseIf Range("a1") = 0 Then
Range("b1") = "等于0"
ElseIf Range("B1") <= 0 Then
Range("b1") = "负数"
End If
End Sub
Sub 多条件判断2()
If Range("a1") <> "" And Range("a2") <> "" Then
Range("a3") = Range("a1") * Range("a2")
End If
End Sub
- iff判断
Sub 判断4()
Range("a3") = IIf(Range("a1") <= 0, "负数或零", "负数")
End Sub
- select 判断
Sub 判断1() '单条件判断
Select Case Range("a1").Value
Case Is > 0
Range("b1") = "正数"
Case Else
Range("b1") = "负数或0"
End Select
End Sub
Sub 判断2() '多条件判断
Select Case Range("a1").Value
Case Is > 0
Range("b1") = "正数"
Case Is = 0
Range("b1") = "0"
Case Else
Range("b1") = "负数"
End Select
End Sub
Sub 判断3()
If Range("a3") < "G" Then
MsgBox "A-G"
End If
End Sub
- 区间判断
Sub if区间判断()
If Range("a2") <= 1000 Then
Range("b2") = 0.01
ElseIf Range("a2") <= 3000 Then
Range("b2") = 0.03
ElseIf Range("a2") > 3000 Then
Range("b2") = 0.05
End If
End Sub
Sub select区间判断()
Select Case Range("a2").Value
Case 0 To 1000
Range("b2") = 0.01
Case 1001 To 3000
Range("b2") = 0.03
Case Is > 3000
Range("b2") = 0.05
End Select
End Sub
4. 今日彩蛋-自动设置目录
Sub 自动生成目录()
Dim i As Integer
Cells.Clear
Cells(1, 1) = "序号"
Cells(1, 2) = "名称"
Cells(1, 3) = "链接"
Range("A1:C1").Select
Selection.Font.Bold = True
For i = 2 To Sheets.Count
Cells(i, 1) = i - 1
Next
For i = 2 To Sheets.Count
Cells(i, 2) = Sheets(i).Name
Next
For i = 2 To Sheets.Count
Cells(i, 3) = Sheets(i).Name
ActiveSheet.Hyperlinks.Add anchor:=Cells(i, 3), Address:="", SubAddress:="'" & Sheets(i).Name & "'!A1"
Next
End Sub
另附链接:如何将编写的宏加载到excel选项卡中:
https://jingyan.baidu.com/article/4dc40848753509c8d946f1a7.htmljingyan.baidu.com