我遇到一种情况,我需要clear变量lastWord,以便msgbox在下一个loop中什么也不显示。
以下代码只是一个示例。

Sub clear_lastWord_Variable()

    Dim wordArr() As String
    Dim lastword As String
    Do
        selection.Find.ClearFormatting
        selection.Find.Font.Bold = True
        With selection.Find
            .Forward = True
            .Wrap = wdFindStop
        End With
        selection.Find.Execute

        If selection.Find.Found Then

            wordArr = Split(selection, " ")

            For i = LBound(wordArr) To UBound(wordArr) Step 1
                lastword = wordArr(i)

            Next i

            MsgBox lastword

            ' here should be something to clear lastword
        Else
            Exit Do
        End If
    Loop

End Sub
该视频可以帮助您学习一个 secret 技巧
https://youtu.be/MaiSBVguh28

最佳答案

您无法“清除”非对象变量,只能将其设置为定义的值。对于字符串变量,通常是空字符串""

lastword = ""

或(相同)
lastword = vbNullString

对于对象变量,有Set myObj = Nothing

07-26 08:36