2014-04-10 6 views
5

मैं केवल एक मामले के साथ एक चयन केस लेना चाहता हूं - जहां मामला "पी", "एवी" या "एफ" के बराबर नहीं है।केस का चयन करें या

यह मेरे पास अब तक है।

Select Case Range("my_range").Offset(0, column_offset).Value 
    Case Not "P", "Ev", "Af" 
     'my code 
End Select 

मामले 50 विभिन्न मूल्यों के बराबर हो सकता है और मैं एक ही कार्रवाई चाहते हैं ('my code के तहत) उन सभी के लिए प्रदर्शन किया जाना है जब तक परिणाम, पी है Ev या वायु सेना।

मैंने Not "P", Not "Ev", Not "Af" को के साथ , को बदलने के साथ-साथ कोई फायदा नहीं हुआ है।

प्रतिक्रिया हर बार है:

Run-time error '13': Type mismatch.

मैं जानता हूँ कि मैं की तर्ज पर एक अगर बयान के साथ इस जगह ले सकता है ...

If Range("my_range").Offset(0, column_offset).Value <> "P" And Range("my_range").Offset(0, column_offset).Value <> "Ev" And Range("my_range").Offset(0, column_offset).Value <> "Af" Then 
    'my code 
End if 

लेकिन मैं उपयोग करने के लिए पसंद करते हैं अगर मैं कर सकता हूं तो केस का चयन करें विकल्प।

कोई भी विचार किसी को भी?

बहुत धन्यवाद

संपादित

मैं भी कहना चाहिए मैं

Select Case Range("my_range").Offset(0, column_offset).Value 
    Case "P", "Ev", "Af" 
     Exit Select 
    Case Else 
     'my code 
End Select 

लेकिन त्रुटि संदेश का उपयोग कर प्रयास किया:

Compile error: Expected: Do or For or Sub or Function or Property

अप पॉपिंग रखा।

उत्तर

11

आप इस तरह से Not का उपयोग नहीं कर सकते। लेकिन तुम

Select Case Range("my_range").Offset(0, column_offset).Value 
    Case "P", "Ev", "Af" 
     'ignore this 
    Case Else 
     'my code 
End Select 
+0

को refactor कर सकते हैं मैं सिर्फ एक संपादन कि का कहना है कि मैं जोड़ना 'बाहर निकलें Select' (जहां लिखा है' 'this' ध्यान न दें) जो काम नहीं किया जोड़ने की कोशिश की जोड़ लिया है, लेकिन की बिल्कुल मुझे बस कोड दर्ज नहीं करना है और अगली पंक्ति आगे बढ़ेगी और चयन से बाहर निकल जाएगी! स्पष्ट रूप से उन दिनों में से एक ...! आपकी सहायता के लिए धन्यवाद. :) –

संबंधित मुद्दे