Skip to main content

AccessTr.neT


VBA Excel'de Instr ile belirli hücre değerleri haricindekiler varsa işlem yapma

VBA Excel'de Instr ile belirli hücre değerleri haricindekiler varsa işlem yapma

#1
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.


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.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da

Bu Konudaki Yorumlar
VBA Excel'de Instr ile belirli hücre değerleri haricindekiler varsa işlem yapma - Yazar: balkan85 - 29/09/2016, 11:14
Task