वीबीए में केस स्टेटमेंट - एक्सेल, एक्सेल-वीबीए

स्थिति समाप्त होने पर नीचे केस स्टेटमेंट काम नहीं कर रहा है।

Dim TemplatePick As String

Select Case TemplatePick

Case OptCreate.Value = True
Call WebFormInfo

Case OptModify = True
Call ModifyTemplate

" many more case statement to come
End Select

उत्तर:

जवाब के लिए 2 № 1

इस मामले में एक मान का परीक्षण करने के लिए केस का उपयोग किया जाता है TemplatePick तो मामला होगा Case "A" जो कब आग लग जाएगा TemplatePick = "ए"

तो इसके लिए काम करने के लिए:

Select Case True

Case OptCreate.Value
Call WebFormInfo

Case OptModify
Call ModifyTemplate

" many more case statement to come
End Select

अब चयन केस के साथ एक चेतावनी, एक बार यह एक मैच पाता है यह सभी दूसरों को अनदेखा करता है। दूसरे शब्दों में अगर OptCreate.Value सच है तो यह रुक जाएगा और परीक्षण नहीं करेगा कि क्या OptModify सच हैं।


जवाब के लिए 0 № 2

आपका केस टेस्ट एक्सप्रेशन (टेम्पलेटपिक) नहीं हैआपकी अभिव्यक्ति सूची के समान (ऑप्ट बनाएँ। वैल्यू, ऑप्ट MODify)। मुझे यह समझने में भी मुश्किल है कि आप क्या करने की कोशिश कर रहे हैं। उचित रूप से संरचित यह कुछ ऐसा दिखाई देगा:

Dim TemplatePick As String

Select Case TemplatePick

Case "Template 1"
Call WebFormInfo
Case "Template 2"
Call ModifyTemplate
...
case Else
"Do default behavior
End Select

और अधिक संसाधनों https://msdn.microsoft.com/en-us/library/cy37t14y.aspx


संबंधित सवाल
सबसे लोकप्रिय