• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Bir değerin dizi içinde bulunup bulunmadığının kontrlu

Katılım
24 Haziran 2011
Mesajlar
599
Excel Vers. ve Dili
EXCEL 2010 & ACCESS 2007 ENGLISH
Bir değerin dizi içinde bulunup bulunmadığının kontrolü

Merhaba,
Bir sorum olacak diziler hakkında. Yardımcı olursanız sevinirim.

"Eger dizi elemanlarından bir değil ise FALSE döndür" gibi bir soru sorulabilirmi? Dizimiz dinamik bir dizi.

Kod:
Sub DENEME()

Dim dizi()

ReDim dizi(2)

dizi(0) = "KARS"
dizi(1) = "IZMIR"
dizi(2) = "MANISA"

x = "ANKARA"

End Sub

Eger ANKARA  "dizi()" dizisinin elemanlarindan herhangi bir tanesi ise TRUE degil ise FALSE dondur
 
Son düzenleme:
Arkadaşlar Merhaba,

Sanırım yukarıda soruyu biraz kötü sordum. Anlaşılmayan bir nokta var mı yada soru çok mu karışık?

Yorum yaparsanız sevinirim, buna göre soruyu güncelleyeceğim.

Saygılar.
 
Merhaba, aşağıdaki kodu inceler misiniz?

Kod:
Sub sdf()

Dim dizi()

ReDim dizi(2)

dizi(0) = "KARS"
dizi(1) = "IZMIR"
dizi(2) = "MANISA"

b = InputBox("Bir değer giriniz: ", "Kontrol")
For i = 0 To UBound(dizi())
If b = dizi(i) Then
MsgBox "True"
Exit Sub
Else
MsgBox "False"
Exit Sub
End If
Next
End Sub
 
Merhaba,

Kodları kopyalayıp inceleyiniz.

Kod:
Sub LoopUp_Array()
    
    Dim vaList As Variant, vaValue As Variant, vaOutput As Variant
    Dim Sira As Integer
    
    On Error Resume Next
    vaList = VBA.Array("Ankara", "Çorum", "Gaziantep", "İzmir", "Edirne")
    vaValue = "Kars"
    
    vaOutput = Application.VLookup(vaValue, Application.Transpose(vaList), 1, 0)
    Sira = Application.Match(vaValue, Application.Transpose(vaList), 0)
    
    If Not IsError(vaOutput) Then
          MsgBox vaValue & " VAR ve Sıra Nosu : " & Sira
    Else
         MsgBox vaValue & " DEĞERİ BULUNAMADI....!"
    End If
    
End Sub
 
bir alternatifte benden

Sub DENEME()

Dim dizi(), x
Dim s

ReDim dizi(2)

dizi(0) = "KARS"
dizi(1) = "IZMIR"
dizi(2) = "MANISA"

x = "MANISA"

s = Filter(dizi, x, True)
If UBound(s) < 0 Then
MsgBox "dizide yok"
Else
MsgBox "DIZIDE VAR"
End If
End Sub
 
Geri
Üst