Excel、宏与VBA

  3.IT技术
  • 使用场景:Excel内部进行快速的编辑,代码编写。解决Excel内部重复性工作。因为为VB拓展宏语言,基本语法以及基础概念与VB一致。
  • 对于多数据处理,联表查询合并或者进行数据分析、数据处理、数据导入到其他软件中时,还是建议使用软件内的Excel文档处理。

  • Excel进阶使用教程:传送门
  • 宏与VBA保姆级教程:传送门
  • 宏与VBA进阶教程:传送门
  • 保姆级教程主要适用于0基础编程人群,以及简单介绍使用方法。
  • 进阶教程包含查询,正则表达式,字典等内容。

知识点归纳

  • 宏录制:录制你当前的操作,可以设定绝对位置录制或者相对位置录制。
  • 宏使用范围:当前打开选项卡内的所有宏,个人excel所有文档。

代码部分

  • 变量类型:integrt,string,double,boolean,long,date。
'单引号代表注释
'string赋值举例
Dim s1 As String
s1 = "123"
'date日期类型赋值举例
Dim d1 As Date
d1 = #11/20/1998#
  • 多变量申明:(变量可以不申明直接使用,使用时自动定义,变量可以不定义类型使用)
Dim s1 As String,d1 As Date
  • 变量使用范围:sub子函数内变量,模块内全局变量,全模块public全局变量(Dim改为Public)
  • Static静态变量(Dim改为Static)
    Const常量(Dim改为Const)
  • 运算符:+、-、*、/、Mod(取余数)、^(次方,注意不为异或)
  • 比较运算符:>、<、>=、<=、<>(不等于)、=(判别时应该放入括号内,以区分赋值)
  • 逻辑运算符:And、Or、Not
  • 判断语句:
'IF语句
If 逻辑表达式1 Then
    代码块1
ElseIf 逻辑表达式2 Then
    代码块2
Else
    代码块3
End If

'Select(Switch)语句
Select Case 变量
    Case Is 条件1
        代码块1
    Case Is 条件2
        代码块2
    Case Else
        代码块3
End Select

  • 循环语句:
'For-Next循环,step代表Num+2
Dim Num As Integer
For Num = 1 to 5 Step 2
    代码块1
Next Num
'跳出循环
Exit For

'Do-While循环,Until代表直到,意为满足条件就不进行循环
Do 逻辑表达式1
    代码块1
Loop

Do Until 逻辑表达式2
    代码块2
Loop
  • 带参子过程(无返回值)
’子过程(子函数、子程序)
Sub SubTest(AimNum as Integer)
    Dim Num As Integer,Total As Integer
    For Num= 1 To AimNum
        Total = Total + NumNext Num
’中断子程序的执行
    Exit Sub
End Sub

'调用示例
Sub test()
    SubTest 100
End Sub
  • 自定义函数(有返回值)
Function CubeSum(x As Double, y As Double)
      CubeSum = x*x*x +y *y *y
End Function

Sub Test()
    Dim Value As Double
    Value = CubeSum(1.5,2.5)
'输出消息
    MsgBox Value
End Sub
  • 数组
’LBound表示数组的最小的角标’UBound表示数组的最大的角标
Dim MyArray(1 To 4) As Integer
MyArray(1) = 0
For index = LBound(MyArray) To UBound (MyArray)
    MsgBox MyArray (index)
Next index
'默认定义,角标从0开始,为0-3
Dim MyArray(4) As Integer
'Option Base 1语句定义角标从1开始而非0

'二维数组
Dim MyArray(1 To 4,1 To 4) As Integer
For RowNo = LBound (MyArray,1) To UBound(MyArray,1)
    For ColNo = LBound (MyArray,2) To UBound (MyArray,2)

功能函数

  • Range:使用方法Range(“A1:C10”).函数名
    Value,Count,Font,Interior,Select,Copy,Paste,Clear,Delete
  • 框架选定示例:Application.Workbooks(“工作部名称.xlsx”). Worksheets(“Sheet1”).Range(“A1”).Value – 1
  • Range范围选取:
    选取一个(“A1”)
    选取多个(“A1,A3,A5”)
    范围选取(“A1:C10”)(相当于鼠标点击A1然后滑动到C10)

    整行(“11:11”)
    整列(“A:A”)
  • Cell选取单独单元格,以及offset属性:
image 10 1024x326 - Excel、宏与VBA
  • Select单元格和Active单元格区别:Select代表选中,在选中区域时会在该区域中有一块激活单元格,可以用Active进行设置
image 11 1024x305 - Excel、宏与VBA

LEAVE A COMMENT