• DİKKAT

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

VBA - Değişken bir aralık içerisinde var mı?

Katılım
20 Ocak 2009
Mesajlar
19
Excel Vers. ve Dili
2010 , İngilizce
Merhaba,

Vba ile excel fonksiyon oluşturmaya çalışıyorum. Yapmak istediğim fonksiyonda excelde bir aralığı refere etmeden , yalnızca kod ile bir sayı dizisi belirleyip , değişkenin bu sayılardan birine eşit olup olmadığını kontrol etmek istiyorum.

Örn.

Değişken = 1
Range = (1,2,3,4,5)

Sonuç = Range içerisinde

Range içerisinde aramayı nasıl yapabilirim?

Çok teşekkürler
 
Merhaba.
Aşağıdaki kodları inceleyin.

Kod:
Sub deneme()
    Dim Degisken As String
    Dim Degerler() As Variant
    Degerler = Array("1", "2", "3", "4", "5")
    Degisken = 3
    
    Dim Bak As Integer
    For Bak = 0 To UBound(Degerler) - 1
        If Degerler(Bak) = Degisken Then
            MsgBox "Aradığınız değişken bulundu."
            Exit Sub
        End If
    Next
    MsgBox "Aradığınız değişken bulunamadı."
End Sub
 
Range, belirlediğiniz hücre aralığı ise kodlar aşağıda
Kod:
Değişken = 1
For i = 1 To Range("A1:A3").Count
If Değişken = Range("A1:A3")(i) Then
MsgBox "Mevcud" & " " & Range("A1:A3")(i).Address
Exit For
 End If
 Next
 
Alternatif;

UDF olarak kullanmak isterseniz. =varmi("5") DOĞRU yada YANLIŞ olarak sonuç verecektir.

Kod:
Sub dene()
   degisken = "13"
   If varmi(degisken) Then
     MsgBox ("Var")
   Else
     MsgBox ("Yok")
   End If
End Sub


Function varmi(deger) As Boolean
   degerler = "1,2,3,4,5,6,7,8,9,11,12,13"
   degerler = degerler & ","
   liste = Split(degerler, ",")
   For i = LBound(liste) To UBound(liste) - 1
     If liste(i) = deger Then
        varmi = True
        Exit Function
     End If
   Next i
   varmi = False
End Function
 
Son düzenleme:
Buyurun.:cool:
Kod:
Sub collection59()
Dim col, i As Integer, degisken As String
Set col = New Collection
For i = 1 To 5
    col.Add i, CStr(i)
Next
On Error GoTo yok
degisken = 5
MsgBox "Bu değişken [ " & col.Item(degisken) & " ] e eşittir."
Set col = Nothing
Exit Sub
yok:
Set col = Nothing
MsgBox "Böyle bir sayı yoktur"
End Sub
 
Geri
Üst