29/09/2016, 11:14
balkan85
Merhaba arkadaşlar;
Excel'de çalışan bir bir Vba koduna "InStr" ile kısıt getirmek istiyorum. Aslında halihazırda böyle bir kısıt var ama bu defa bunun tersini ve çoklu substring ile yapmak istiyorum. Ama bir türlü başaramadım. Yardımcı olabilir misiniz?
Aşağıdaki kod öbeğinde uzman arkadaşların anlayabileceği gibi belirtilen hücre alanında "/" karakteri varsa çalışmayı durduruyor.
Ancak, şu anda ihtiyacım olan ise eğer belirtilen alanda "x", "y", "z" substringleri HARİCİNDE bir değer varsa şunu yap, yok sadece bunlar varsa hiçbir şey yapma ve devam et.
Bunun için aşağıdaki kodu denedim ama her kontrol ettiği hücre için MsgBox mesajını çıkardı. Sanırım InStr'nin mantığında bir hata yapıyorum.
Not: Küçük bir kod öbeği olduğu için örnek dosya eklemedim açıkçası. Umarım yanlış yapmamışımdır.
Şimdiden teşekkürler, saygılar.
Excel'de çalışan bir bir Vba koduna "InStr" ile kısıt getirmek istiyorum. Aslında halihazırda böyle bir kısıt var ama bu defa bunun tersini ve çoklu substring ile yapmak istiyorum. Ama bir türlü başaramadım. Yardımcı olabilir misiniz?
Aşağıdaki kod öbeğinde uzman arkadaşların anlayabileceği gibi belirtilen hücre alanında "/" karakteri varsa çalışmayı durduruyor.
For i = 1 To ActiveSheet.Range("H2").End(xlDown).Row
If InStr(1, LCase(Range("H" & i)), "/") <> 0 Then
MsgBox prompt:="Parçalanmamış setler (/) olduğundan işlem yapılamaz.", Buttons:=vbInformation + vbOKOnly, Title:="Hata"
End
End If
Next i
Ancak, şu anda ihtiyacım olan ise eğer belirtilen alanda "x", "y", "z" substringleri HARİCİNDE bir değer varsa şunu yap, yok sadece bunlar varsa hiçbir şey yapma ve devam et.
Bunun için aşağıdaki kodu denedim ama her kontrol ettiği hücre için MsgBox mesajını çıkardı. Sanırım InStr'nin mantığında bir hata yapıyorum.
For i = 1 To ActiveSheet.Range("K2").End(xlDown).Row
If InStr(1, LCase(Range("K" & i)), "BANGLADESH") + _
InStr(1, LCase(Range("K" & i)), "CAMBODIA") + _
InStr(1, LCase(Range("K" & i)), "INDIA") + _
InStr(1, LCase(Range("K" & i)), "CHINA") > 0 Then
Else
MsgBox prompt:="Menşelerde BANGLADEŞ, KAMBOÇYA, ÇİN, ve HİNDİSTAN dışında ülkeler var!", Buttons:=vbCritical + vbOKOnly, Title:="Uyarı!"
End If
Next i
Not: Küçük bir kod öbeği olduğu için örnek dosya eklemedim açıkçası. Umarım yanlış yapmamışımdır.
Şimdiden teşekkürler, saygılar.