1. 程式人生 > >VBA-vba與運算子

VBA-vba與運算子

宣告:筆記來源於我要自學網-《Excel VBA基礎教程》-授課講師:曾賢志

定義:運算子是代表VBA某種運算功能的符號

  1. 賦值運算子:=
  2. 數學運算子:&(字元連線符)、+(加)、-(減)、Mod(取餘)、\(整除)、*(乘)、/(除)、-(負號)、^(指數)
  3. 邏輯運算子:Not(非)、And(與)、Or(或)、Xor(異域)、Eqv(相等)、Imp(隱含)
  4. 關係運算符:=(相同)、<>(不等於)、>(大於)、<(小於)、>=(大於等於)、<=(小於等於)、Like(比較字串是否相同)

  • like用來比較兩個字串
  • ?任何單一字元
  • *  零個或多個字元
  • # 任何一個數字(0-9)
  • [charlist] charlist.中的任何單一字元
  • [!charlist] 不在charlist中的任何單一字元

例項演示:

Sub a1()
a = "admin" Like "Admin"    '區分大小寫
End Sub
Sub a2()
b = "abc" Like "a?c"    '萬用字元運用
b2 = "abc" Like "???"
End Sub
Sub a3()
c = "Excel函式" Like "*函*"
End Sub
Sub a4()
d = 88 Like "##"
End Sub
Sub a5()
e = "a" Like "[a-z]"
f = 8 Like "[!1-7]"
g = 8 Like "[1-4,6-9]"
End Sub

Like運算子運用

Sub aa()
For j = 2 To 6
    For i = 2 To 14
        If Cells(i, "a") Like Cells(j, "e") Then n = n + 1
    Next
        Range("f" & j) = n
        n = 0
Next
End Sub

綜合運用(盤點清單核對)

Sub 盤點清單()
Dim rng As Range, rngs As Range, k%, a, b
For Each rng In [a2:a6]
                a = rng.Value
        For Each rngs In [b2:b4]
                b = rngs.Value
                If rng = rngs Then
                    GoTo 100
                End If
        Next rngs
        k = k + 1
        Cells(k + 1, "c") = rng
100:
Next rng
End Sub