2014-04-10 20 views
5

Sadece bir durum içeren bir Vaka Seçimi yapmak istiyorum - durumun "P", "Ev" veya "Af" e eşit olmaması.Seç Harp Durumu Değil Veya

Şimdiye dek sahip olduğum şey budur.

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

durumda 50 farklı değerler eşit olabilir ve sonuç, EV ya da Af P sürece hepsi için yapılması gereken ('my code altında) aynı işlemi istiyoruz.

Ayrıca 'u Or ile değiştirmek yerine Not "P", Not "Ev", Not "Af" kullanmayı denedim, ancak boşuna. ...

Run-time error '13': Type mismatch.

ben çizgisinde bir if ile değiştirebiliyor biliyorum

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 

ama kullanmayı tercih ediyorum:

yanıtı her zaman olduğu Yapabiliyorsam Vaka Seçeneği.

Herhangi biri hakkında bir fikrin var mı?

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

haşhaş tuttu:

çok teşekkürler

DÜZENLEME

ben

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

ama hata mesajı kullanmayı deneyin did da diyebilirim.

cevap

11

Not bu şekilde kullanamazsınız. Ama

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

için planı ayrı Sadece '(siz this' görmezden '' yazdım) Çık Select' işe yaramadı hangi eklemek eklemek çalıştıklarını söylüyor Bir düzenleme eklendi, ancak bir adres Tabii ki tek ihtiyacım olan şey sadece kod girmemek ve sıradaki satır ilerleyecektir. Açıkçası o günlerden biri ...! Yardım ettiğin için teşekkür ederim. :) –