Bu dosya, açılmamış (kapalı) bir Excel çalışma kitabındaki tablodan, VBA ile yazılmış Düşeyarama adlı kullanıcı tanımlı fonksiyon aracılığıyla veri çekmeyi gösterir. Fonksiyon, kapalı dosyaya ADO bağlantısı kurar ve sicil numarasına göre istenen sütunun değerini getirir.
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir. Arşivin içindeki çalışma kitabı Kapali-Duseyaraa.xlsm adını taşır.
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir. Arşivin içindeki çalışma kitabı Kapali-Duseyaraa.xlsm adını taşır.
Dosyanın içeriği
- Sayfa1: B2:D8 aralığını kullanır. C2 hücresinde "OTOMATİK" yazar, C3 hücresi aranacak sicil numarasının girildiği hücredir. D5:D8 hücrelerinde sonuçları getiren formüller bulunur.
- Module1: Bağlantıyı kuran Baglanti_Yap prosedürünü ve Düşeyarama fonksiyonunu içerir.
Kullanılan formüller
D5:D8 hücrelerinde aynı fonksiyon farklı sütun adlarıyla çağrılır:=Düşeyarama("SİCİL",$C$3,"TABLO","ADI"): D5 hücresinde adı getirir.- D6 hücresi "SOYADI", D7 hücresi "DOĞUM YERİ", D8 hücresi "DOĞUM TARİHİ" sütununu getirir.
- Parametreler sırasıyla: referans sütun adı, aranan değer, tablo (sayfa) adı ve değeri alınacak sütun adıdır.
Makrolar
- Baglanti_Yap: ADODB.Connection nesnesi oluşturur ve Excel sürümüne (12.0, 14.0, 15.0, 16.0 ya da daha eski) göre uygun OLEDB sağlayıcısını seçer. Bağlantı, dosyanın bulunduğu klasördeki kapali_dosya.xlsx adlı çalışma kitabına kurulur. 14.0 sürümünde ise bağlantı, açık olan çalışma kitabının kendisine (ThisWorkbook.FullName) kurulur.
- Düşeyarama: Bağlantıyı kurar, "select [sütun] from [tablo$] where referans = değer" biçiminde bir SQL sorgusu oluşturur ve kayıt bulunursa ilk kaydın değerini döndürür. Bu bir kullanıcı tanımlı fonksiyondur, hücreden doğrudan çağrılır; ayrıca çalıştırmanız gerekmez.
Nasıl kullanılır
- Arşivi açın ve Kapali-Duseyaraa.xlsm dosyasını açarken makroları etkinleştirin.
- Veri çekeceğiniz kapali_dosya.xlsx dosyasını, bu dosyayla aynı klasöre koyun.
- C3 hücresine aranacak sicil numarasını yazın.
- D5:D8 hücreleri ilgili kişinin adını, soyadını, doğum yerini ve doğum tarihini getirir.
- Başka sütunlar için formüldeki son parametreyi, kapalı dosyadaki başlık adıyla değiştirin.