zoukankan      html  css  js  c++  java
  • VBA学习之基础语法(三)

    运算符

    • 算术运算符

      进行算术运算

      Mod 求模运算
      / 求商
       整除
      
    • 比较运算符

      用于比较运算,返回值为Boolean型,为TrueFalse

      <>	不等于		表达式1 <> 表达式2
      Is	引用对象比较	对象1 ls 对象2
      Like 字符串比较 
      
    • 连接运算符

      用来连接文本字符串,有+&

      • +运算符,两边同时都是字符串时进行字符串的连接,其他则进行数值运算
      • &运算符,无论运算符左右两边是何种尖型的数据,都执行连接运算
    • 逻辑运算符

      返回结果为Boolean

      运算符 含义 语法 返回值
      And 逻辑与 表达式1 And 表达式2 都为True时,则返回True
      Or 逻辑或 表达式1 Or 表达式2 只要有一个为True时,返回Ture
      Not 逻辑非 Not 表达式 相反值
      Xor 异或 表达式1 Xor 表达式2 表达式返回的值相同时返回False,否则为True
      Eqv 等价 表达式1 Eqv 表达式2 表达式返回的值相同时返回True,否则为False
      Imp 蕴含 表达式1 Imp 表达式2 待学习

      优先级

      先处理算术运算符,接着处理连接运算符,然后处理比较运算符,最后再处理逻辑运算符。可以用括号来改变运算顺序

    语句结构

    • IF...Then

      Sub IfTest_2()
      	If Range("A1").Value=""
              Then MsgBox"没有输入内容"
          Else MsgBox"已经输入内容"
      End Sub
      
    • Select Case

      在设置条件时,应尽量把最有可能发生的情况写在前面

      Select Case Time
      Case Is < 0.5 '拿time去和0.5比较
          MsgBox "早上好!"
      Case Is > 0.5
          MsgBox "晚上好!"
      Case Else
          MsgBox "下午好!"
      End Select
      
    • For Next

      适用于可确定循环变量终值,循环变量可以不用声明

      Dim count As Integer
      For i = 1 To 100 Step 2
      	count = count + i
      Next
      
    • Do While

      更适用于不确定循环变量终值,表达式为False时跳出循环

      Loop为循环结束标志

      Do [While 逻辑表达式]
      	(循环体)
      	[Exit Do]
      	(循环体)
      Loop
      //有开头判断和结尾判断,While可在Do后或Loop后,区别在于后者执行循环体后进行判断
      //Exit Do 为满足一定条件后跳出循环,多用于跳出死循环
      
      Sub xj()
          Dim xj As String,i As Integer
          i = 1
          Do While Cells(i,"H").Value <> ""
              ...
         	i = i+1
          Loop
      End Sub
      
    • Do Until

      Do [Until 逻辑表达式]
      	...
      Loop
      //与DO While不同的是当表达式为True时跳出循环
      
    • For Each...in...Next

      for...in有些相似,以一个可迭代序列(集合、数组)进行循环

          For Each 控件变量 In 集合或数组等
          (语句块)
          Next
          //控件变量需要事先声明
          //若循环对象为数组时,控件变量则要求为Variant型
          //若循环对象为集合时,则控件变量为相应的对象类型
      
      '用For Each...Next语句编写一个程序将1到100的自然数输入A1∶A100单元格区域
      Public Sub forEachNext()
          Dim arr(100) As Integer, i As Integer, ch As Variant
          i = 1
          For Each ch In arr
              Cells(i, "j").Value = i
              i = i + 1
          Next
      End Sub
      
    • With

      with可以缩减代码量

      '如对同一个对象的多个属性进行设置时
      Sub propertySet()
          Worksheets("sheet1").Range("A1").Font.Name = "仿宋"
          Worksheets("sheet1").Range("A1").Font.Size = 12
          ...
      End Sub
      '可以简化为
      Sub withTest()
          With Worksheets("sheet1").Range("J2").Font
              .Name = "微软雅黑"
              .Size = 12
              .Bold = True
          End With
      End Sub
      '每行都有一个小圆点不要忘
      
    • GoTo

      跳转语句,待学习

  • 相关阅读:
    干掉idea视图黄色警告
    idea插件 Background Image Plus 随机更换背景图片
    es的rest风格的api文档
    使用postman对elasticsearch接口调用
    es插件安装
    emoji表情等特殊字符处理和存储的两个方案
    java8两个字段进行排序问题
    java 必应壁纸批量下载
    elasticsearch学习(1)
    RocketMq报错 Java HotSpot(TM) Server VM warning:
  • 原文地址:https://www.cnblogs.com/NoTrace/p/13629114.html
Copyright © 2011-2022 走看看