Excelde Makro ile Döviz Kurlarını Getirmek


Microsoft Excel ‘de veri getirme tekniklerini daha önce çeşitli konu başlıklarıyla detaylı olarak incelemiştik. Bunlardan birkaç Makro ve Excel örneklerini aşağıdaki linklerden inceleyebilirsiniz.

bkz. Excel Döviz Kuru Aktarma | TCMB

bkz. Excel Makro VBA ile Web ‘den Veri Getirme

Bu değerli konuların önem derecesini arttırmak adına bloğumda daha fazla yer ayırmaya karar verdim, böylece siz değerli okurlarıma alternatif çözüm seçenekleri sunmak isterim. Temel mantık yukarıdaki konular ile aynıdır, Excel ‘de Makro ile webden veri getirme tekniğini kullanarak QNB Finansbank Enpara sitesinde bulunan Döviz kurlarını nasıl getirebilirim sorusuna hep birlikte yanıt bulacağız. ( Aşağıda tercih edilen web sitesi yalnızca temsili bir örnektir.)

Paylaştığım daha önceki konularımı inceleyen takipçilerim için işler biraz daha kolay olacaktır ama korkmayın yeni adaylar için de güzel bir başlangıç olabilir. Makro ile webden nasıl veri getirilebileceğini detaylıca tüm hatlarıyla birlikte anlatacağım.

  • Başlayalım;

Excel ‘de uygulanan her işlemi makro sayesinde kolaylaştırabilirsiniz. Bu olayların yapı taşı olarak adlandıracağımız editör ekranının adı ise Excel‘ de Visual Basic Editör penceresidir. 

Önemli
1.Kural : Daha önceki konularda anlattığım gibi, webden veri çekmek için öncelikle ilgili web sayfasının HTML kodlarını kontrol etmemiz gerekir.

Bunun için örnek olarak baz aldığımız aşağıdaki döviz kurlarını içeren siteyi açıyoruz,

www.qnbfinansbank.enpara.com/doviz-kur-bilgileri/doviz-altin-kurlari.aspx

Daha sonra açılan sayfadan tag isimlerini tespit ediyoruz.Bunun için aşağıdaki resmi inceleyin. Mesela Excel’de hücreye getirmek istediğimiz kur değerinin adresini öğrenmek için o değerin üzerine sağ tıklayıp incele diyoruz, açılan ek pencereden gördüğünüz gibi “dlCont” ismini yakalıyoruz. Neden dlCont derseniz, mouse ile dlCont yazısının üstine gelirseniz, web sayfasında kur hücresinin seçili alana dönüştüğünü fark edebilirsiniz.

Adres tespitini yaptık, şimdi dönelim Excel ‘e … Yeni bir sayfa açıyoruz, sonra da Visual Basic Editor penceresine ulaşıyoruz. Bu işlevin kısayol tuş kombinasyonu Ctrl + F11’dir arkadaşlar.

excel makro ile webden veri getirmek

excel makro ile webden veri getirmekBu pencereyi gördüğünüz gibi aşağıdaki şu kodları yazarak ilk çerçeveyi oluşturalım.

Belirlenen kod aralığına ihtiyacımız doğrultusunda komutlar yazacağız.


  • Web’den veri getirmek için ;

Excel > Veri > Dış Veri Al > Web ‘den seçeneğini hepimiz biliyoruz. Bu yöntem bir tarayıcı sayesinde web sitesine bağlanıp, bir tabloyu Excel sayfamıza getirmemiz için kullanılır. Lakin, biliyoruz ki web sayfasındaki tüm verileri getirmek bizim için uygun işlem değil, amacımız istediğimiz alanlarda nokta atışı yaparak istenilen veriyi getirebilmektir.

Anlattığım uzun yol mantığını makroda yazmak için şöyle bir tanımlama gerekir.

Zaten çokta karışık birşey değil, internet explorer sayfasını açmamızı ve belirlediğimiz adrese bağlanmasını sağlayacak komutlar bunlar. Sondaki Do Loop Until döngüleri için Excel VBA Döngüleri ve Detaylar konusunu inceleyebilirsiniz. Burada Excel ‘e ait tüm makro döngülerini detaylı, resimli ve örnekli bir şekilde inceleme şansınız bulunuyor.

Konuyu dağıtmadan devam edelim, şimdi makro kodu yardımıyla birlikte, getElements tanımlarını yapacağız. Blog takipçilerim için bu konuya bağlı olan birçok zengin makale linki veriyorum, bu konulara göz atarak anlattıklarımı pekiştirebilir, tecrübenizi arttırabilir aynı zamanda yaptığınız işlemleri pratiğe dönüştürebilirsiniz. Excel Makro VBA ile Web ‘ den Veri Getirme konusunda getElements tanımını anlatmıştım, bu konuda aynı mantığı kullanarak makro kodları oluşturacağım.

Yukarıda yazılan makro kodlarında anlatılmak istenen, KurAlis isminde bir tanımlama yapıyorum, bu tanımlamanın işlevinde internet.explorer.Dökümanını açıyoruz, getElemens yani getir kardeşim dlCont elementinin 1.sırasındaki değeri…. sondaki innerText ise, bu değeri Excel sayfasına metin olarak yapıştır demektir. Buraya kadar yazılan komutlar, web sayfasına ulaştırır, belirlenen noktalardan verileri alır… şimdi ise bu verileri Excel ‘de nereye yazılacağını belirleyelim. Bunun için ;

kodlarını kullanabiliriz, KurAlis değerini A1 hücresine getirir, KurSatis değerini B1 hücresine getirir.

Son olarak işlemler bittiğinde, Excel içerisinde açılan explorer penceresinin kapatılması için ” ie.Quit ” yazılır.

Sırasıyla anlattığım kodları, en başta yazdığım Sub – EndSub komutlarının arasına ekleyin ve sonucu test edin 🙂

excel makro webden veri getirmek
excel makro webden veri getirmek

Olabildiğince detaylı, açıklayıcı şekilde her satırı, her makro kodunu açıklamaya çalıştım. Başlangıç seviyesinden, ileri düzey seviyesine kadar her kullanıcının yapabileceği kolaylıktadır.

Soru ve görüşleriniz için, ayrıca dosyayı hazırlamakta sorun yaşayan olursa yorum kısmından örnek dosya talebinde bulunabilirsiniz.

[ Excel , makro , VBa , Web ‘den veri al ,veri getirme , veri çekmek , döngüler , getElements , Makro ile web sitesinden nasıl veri getirilir , Excel ‘de makro kodları ile veri çekmek, makro lie web sayfası açmak , makro ile veri getirme , Excel teknikleri, webten al, webten veri getir, webden getirmek, istenilen değerleri webden excele aktarmak,]

 


Excelde Makro ile Döviz Kurlarını Getirmek” için bir yorum

  1. benzer bir şekilde bilanço analizi için “https://www.isyatirim.com.tr/tr-tr/analiz/hisse/sayfalar/sirket-karti.aspx?hisse=EREGL” adresinden finansal değerleri çekmek mümkün mü ? Tamamını excele aktar butonu var ilgili sitede ancak ben bunu otomatik ve istediğim hisse ismini excelde girerek yapma istiyorum. Bununla ilgili örnek bir çalışma yapabilir misiniz ?
    iyi çalışmalar.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir