Bu dosya, VBA ile yazılmış YeniDüşeyara adlı kullanıcı tanımlı fonksiyonu (KTF) örnekler. Fonksiyon, tablo dizisinde aranan değeri bulur ve bulunduğu hücreden belirtilen sütun sayısı kadar sağdaki ya da soldaki hücrenin değerini getirir. Böylece DÜŞEYARA'nın yalnızca sağa bakabilmesi sınırı aşılır.
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir. Kodda dosya silme ya da dışarıya bağlantı gibi zararlı bir işlem yoktur.
Sütun argümanı, aranan değerin bulunduğu hücreye göre kaydırma miktarıdır. Aranan değer Sicil No sütunundadır; -3 Adı, -2 Soyadı, -1 Bölümü sütununu, 1 ise Yaşı sütununu getirir.
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir. Kodda dosya silme ya da dışarıya bağlantı gibi zararlı bir işlem yoktur.
Dosyanın içeriği
- Sayfa1: B2:F6 aralığında Adı, Soyadı, Bölümü, Sicil No ve Yaşı sütunlarından oluşan 5 kişilik örnek personel tablosu bulunur. I2 hücresinde aranan Sicil No (965) yer alır; H3:H6 hücrelerinde Adı, Soyadı, Bölümü ve Yaşı etiketleri, I3:I6 hücrelerinde bunlara karşılık gelen sonuç formülleri bulunur.
- Module1: YeniDüşeyara fonksiyonunun VBA kodunu içerir.
Kullanılan formüller
I3:I6 hücrelerinde aynı fonksiyon farklı sütun değerleriyle çağrılır. Örneğin I3 hücresinde:=YeniDüşeyara($I$2,$B$2:$F$6,-3)
Makrolar
- YeniDüşeyara: Aranan_Değer, Tablo_Dizisi ve Sütun olmak üzere üç argüman alır. Tablo dizisindeki her hücreyi tek tek dolaşır, değeri aranan değere eşit olan hücreyi bulur ve Offset ile o hücreden Sütun kadar kaydırılmış hücrenin değerini döndürür. Makro düğmeyle çalıştırılmaz; hücreye formül olarak yazılarak kullanılır.
- Tabloda aranan değer birden fazla kez geçerse son eşleşmenin sonucu döner. Eşleşme yoksa sonuç boş gelir.
Nasıl kullanılır
- Dosyayı açın ve makroları etkinleştirin.
- I2 hücresine aranmak istenen Sicil No değerini yazın.
- I3:I6 hücrelerinde sonuçların güncellendiğini kontrol edin.
- Kendi verinizde kullanmak için Alt+F11 ile Module1 kodunu kendi çalışma kitabınıza taşıyın ve formülü tablo aralığınıza göre uyarlayın.