基础知识

第十二篇、VBA基础知识(一):注释和操作符

  接上一篇:「从应用场景切入,构建认知框架;再通过逆向拆解,夯实底层基础」

  “控制语句”控制了代码行的执行流程,相关内容通过两篇介绍做了认识。

  程序是由一行行代码的堆叠在一起的,“运算”和“逻辑判断”放置在代码行中、在控制语句的作用下,就会成为一个满足要求的程序。

  其它的在代码行最常见的就是“注释和操作符(运算符)”,它们是VBA里最平常的、无处不在!来了解下它们,看它们是如何在程序中发挥作用的?

本篇视频:

|01 注释

  “注释”的使用在编程中的作用不仅仅是“写代码释义、帮助理解代码逻辑”,对代码调试的帮助也很大。养成写注释的习惯能提升代码的可维护性,在程序调试中使用“注释”,很容易就能理解当前代码行发挥的作用!

关于“注释”:
  • ①过程开始、即Sub 过程名称()之后,对整个过程代码作用的描述和开发者信息;
  • ②复杂的逻辑计算前,注释说明“代码段”的意图,方便后期维护。
  • 选中需要注释掉的多行代码,在Visual Basic编辑器顶端的“视图”→“工具栏”→”编辑“→”设置注释块“,就可以批量注释了。
  • 首次使用时,可以把整个”编辑“条拖到工具栏顶端,方便以后使用。同样的路径,“解除注释块”就可以批量解除注释。
示例代码:

  一段规范的代码结构

复制成功!
1

Sub Square_Sum()
'对1-10的各个正数的平方求和
'小包,2025/4/1

    ' 声明变量
    Dim i As Long          ' 循环计数器
    Dim total As Long      ' 存储累计和
    Dim square As Long     ' 存储当前数值平方

    total = 0' 初始化总和

    ' 循环计算1到10的平方和
    For i = 1 To 10
        square = i ^ 2     ' 计算当前数值平方
        total = total + square  ' 累加到总和
    Next i

    ' 输出最终结果
    MsgBox "1到10的平方和为:" & total, _
           vbInformation, _
           "计算结果"
End Sub

|02 VBA操作符(运算符)

  操作符(运算符)的完整分类有:算术运算(加减乘除...)、比较运算(等于大于小于)、逻辑运算(与或)、连接运算(&、+)。

  通过这些运算符,VBA能够执行各种复杂的计算和逻辑判断,它被广泛应用于数据处理和自动化任务中。

  运算符是最基础的“计算和实现逻辑”的知识,通过它们对数字的加加减减、大于小于等于的比较、是与非的判断、字符串的连接,能实现巨量的关于组合关系的逻辑运算。

  较为基础也就容易理解,在使用它们时需要关注:

完整的运算符及示例:
点击放大的图片
示例代码:

  运算符的使用和返回值:

复制成功!
1

Sub 运算符()
'测试每个运算符,返回值

'算术运算符
    Cells(2, 4) = 3 + 5         '加法
    Cells(3, 4) = 10 - 4        '减法
    Cells(4, 4) = 6 * 7         '乘法
    Cells(5, 4) = 10 / 3        '除法
    Cells(6, 4) = 10 \ 3        '整除
    Cells(7, 4) = 10 Mod 3      '取模
    Cells(8, 4) = 2 ^ 3         '指数
    Cells(9, 4) = -3            '负号

'比较运算符
    Cells(10, 4) = 5 = 5        '等于
    Cells(11, 4) = 5 <> 3        '不等于
    Cells(12, 4) = 7 > 5        '大于
    Cells(13, 4) = 3 < 2        '小于
    Cells(14, 4) = 5 >= 5        '大于等于
    Cells(15, 4) = 4 <= 6        '小于等于
    Cells(16, 4) = "ABC" Like "A*"        '匹配

    Dim obj1 As Worksheet
    Dim obj2 As Range
    Set obj1 = ThisWorkbook.Worksheets(1)
    Set obj2 = ThisWorkbook.Worksheets(1).Range("A1")

    Cells(17, 4) = obj1 Is obj2        '对象引用
    Debug.Print TypeName(obj1)

'逻辑运算符
    Cells(18, 4) = 5 > 6 And 2 < 4        '逻辑 与,同时满足条件才为True
    Cells(19, 4) = 5 > 6 Or 2 < 4        '逻辑 或,有一个满足条件即为True
    Cells(20, 4) = Not (5 = 3)           '逻辑 非,不满足条件时 为True

'连接运行符
    Cells(21, 4) = "Hello" & "World"  '&连接两个字符串
    Cells(22, 4) = "Hello" + "World"  '+连接两个字符串
    Cells(23, 4) = 5 + 3  '+连接两个数字时,会返回求和的结果
    Cells(24, 4) = "A" + 1  '+连接一个数字、一个字符串,会返回错误结果

End Sub

下一篇:VBA基础语句(二):几个提升代码运行效率的知识

   任何程序的运行都是消耗计算机性能的。实现同样的功能,优秀的代码会在最短的时间、用最小的性能消耗完成计算

  当然,在初始接触编程时也不必考虑实现优化,能完成工作的代码就是好代码。不复杂的程序运行时间从20秒节约到8秒,貌似意义也不大!需要优化的是那些占用太多性能、长耗时的程序

VBA程序优化的一般法则
  • ①先优化算法,再优化代码;
  • ②也会符合二八定律,即20%的代码消耗80%的性能;
  • ③优化也要避免过度,在保证代码可读性的前提上进行。

   VBA程序语言的运行秉承着从上到下、从左到右的规则。我们提到的代码优化,也只是对“基础运行环境、控制语句、对象操作、计算”优化的几个关键技巧。通过组合使用这些优化技巧,可使VBA代码运行速度提升!

  下一篇 基础知识(二):代码优化

请开发者喝杯咖啡 请开发者喝杯咖啡!