# 一些用到的 VBA 语法

- Link: https://www.ixiqin.com/2017/05/22/some-use-vba-syntax/
- Published: 2017-05-22T17:25:40+08:00
- Author: 白宦成

**VBA 入门教程**
 Office 中的 VBA 入门：[https://msdn.microsoft.com/zh-cn/vba/office-shared-vba/articles/getting-started-with-vba-in-office](https://msdn.microsoft.com/zh-cn/vba/office-shared-vba/articles/getting-started-with-vba-in-office)
Excel  VBA 参考：[https://msdn.microsoft.com/vba/vba-excel](https://msdn.microsoft.com/vba/vba-excel)

---

**学习资源**
 [VBA帮助手册](http://postimg.aliavv.com/wp-content/uploads/2017/05/VBA帮助手册.doc)

---

 
   我的第一个 VBA 程序，会先弹窗，弹窗内容为”NiHao”自动给 A4 设置值”Nihao”

    ```language-
    Option Explicit '强制要求所有变量必须定义
    Public Sub mysub() ' 定义一个新的 module
    Dim Str As String ' 定义一个变量
    Const Status As String = "Hi"   ' 定义一个常量，其值必须在定义时给出
    ' 这里的内容会被注释掉
    ' 你可以以任意大小写来编写代码，VBE 会自动将其改为正确的格式，比如 end sub -> End Sub
    Let Str = "Nihao"
    MsgBox Str
    Range("A4").Value = Str ' 设置 A4 格的内容为 Str 的内容
    End Sub
    ```

如何判断字符串内是否有特定单词

    ```language-
    instr("abc","c")   '大于0为包含。
    "abc" like "*c*"   'TRUE为包含。
    ```

For 循环语法

    ```language-
    For i = 2 To 10
            MsgBox Cells(i, "A") Like "*抽奖*"
    Next i
    ```

 
 判断是否包含指定字符，随后，执行特定的参数 Sub docheck()

    ```language-
    Dim i  As Integer
    i = 2
    For i = 2 To 10
            If Cells(i, "A") Like "*somtext*" Then
                Cells(i, "D").Value = "other"
            End If
    Next i
    End Sub
    ```
