簡體   English   中英

Excel VBA:字符串比較不起作用

[英]Excel VBA: string comparison does not work

我正在嘗試將 activeSheet 代碼名稱與簡單字符串進行比較,但結果總是正確的。 我對此進行了調試,並且變量值不同。

Sub Button_Supprimer()
    
Dim a, b As String
a = CStr(ActiveSheet.CodeName)
b = "Sheet1"

If (a = b) Then:
    frmSupprimer.Caption = "Supprimer un matériel"
    'frmSupprimer.UserForm_Initialize ("Matériel")
    frmSupprimer.Show
End               
End Sub

結果

結果並不總是正確的,只是代碼中沒有任何語句實際上是有條件的。

:指令分隔符標記的存在通常應該被忘記,並留給您將從即時窗格 (Ctrl+G) 運行的最小化的即發即棄代碼。

通過使用冒號終止If {condition} Then ,您使條件表達式只是一個空指令。

沒有它,代碼將停止編譯,並且您會收到“沒有 End If 的 If 塊”編譯錯誤。

條件代碼塊的正確語法如下:

If {condition} Then
    {conditional statements}
End If

請注意, End指令本質上是一個用於終止程序執行的核選項; 全局變量被重置為其默認值,執行上下文終止:根據經驗,您想讓執行到達End Sub語句並讓 VBA 運行時正常展開其調用堆棧: End指令將所有內容都停止在其軌道上& 然后 - 你真的需要這樣做是非常非常罕見的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM