• DİKKAT

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

Veri doğrulama listesindeki değerin indexi

  • Konbuyu başlatan Konbuyu başlatan dost
  • Başlangıç tarihi Başlangıç tarihi
Katılım
15 Mart 2005
Mesajlar
385
Excel Vers. ve Dili
Microsoft 2016 En 64 Bit
Arkadaşlar merhaba,

Excel sayfasındaki A1 hücresinde veri doğrulama var.
Veri doğrulama listesindeki kaynak, A;B;C;D

A1 hücresinde B seçildiğinde, seçilen değerin index'ini veya kaçıncı değer olduğunu bulabilir miyim?

Kolay gelsin.
 
.

=KAYDIR(A1;veri doğrulamnın verileri aldığı alan)

.

şeklinde deneyin.

.
 
Selamlar,

Eğer kaynak listeniz elle oluşturulmuş bir liste ise Sn. yurttas beyin önerdiği formül sonuç üretmez.

Bu durumda aşağıdaki formülü kullanabilirsiniz. Fakat bu formülde mükerrer kayıt içeren veri listesinde doğru index numarısını üretmez.

Kod:
=KAÇINCI(A1;{"A";"B";"C";"D"};0)
 
Sayın yurttas,

Veri doğrulama listesindeki kaynak, A;B;C;D listeye manuel giriliyor.

Kolay gelsin.
 
Sayın Ayhan,

İlk önce ilginiz için teşekkürler.

İşlemi VBA'da yapmak istiyorum ve o şekilde yapabiliyorum.
WorksheetFunction.Match(Range("A1"), "A", "B", "C", "D", 0)

Ancak A1 hücresine ait kaynağa yeni bir veri eklediğimde, yazdığım kodu
WorksheetFunction.Match(Range("A1"), "A", "B", "C", "D", "E", 0)
şeklinde değiştirmem gerekecek. Bu şekilde yapmak istemiyorum.

Aslında kaynağı Sayfada herhangi bir sütündan alıp, yukarıdaki formülle indexine ulaşabilirim.
Ancak, ben diğer şekilde bir yöntem varmı diye merak ettim?

Kolay gelsin.
 
Selamlar,

Sn. dost,

Kod içinde A1 hücresindeki formül tesbit edilerek çözüme gidebiliriz. Aşağıdaki kodu denermisiniz.

Kod:
Option Explicit
 
Sub VERİ_DOĞRULAMA_İNDEKSİ()
    Dim Veri As String
    
    Veri = Replace(Range("A1").Validation.Formula1, ";", """,""")
    MsgBox Evaluate("=MATCH(A1,{""" & Veri & """},0)")
End Sub
 
Sayın Ayhan,

Tamamdır. Teşekkürler...
 
Geri
Üst