IMDB Top 250 Filmlerini Excele getirmek

Excel webden veri getirme imdb

Makro ile webden veri getirmek , Excel‘de birçok kullanıcı için zorluk demek anlamına geliyor. Bu gibi konularda okurlarım için alternatif çözümler hazırlayarak yardımcı olmak istiyorum. Bugün konumuzda ise IMDB sitesinden en iyi 250 film listesini Excel çalışma sayfasına makro yardımıyla getireceğiz. IMDB aynı zamanda benimde çok aktif kullandığım bir uygulamadır. İzlediğim filmleri kendi listeme ekliyorum, puanlar veriyorum, buna göre IMDB bana yeni film önerileri yapıyor vs. konu dışı oluyor biraz ama bilmeyenler varsa açıklama ihtiyacı hissettim 🙂 Gelelim konumuza,

Öncelikle bu işlem için IMDB sitesini ziyaret ediyoruz,

http://www.imdb.com/chart/top linkinden seçilen en iyi 250 film listesine ulaşabilirsiniz. Buradan ilk sırada gördüğümüz Esaretin Bedeli adlı filmin üstüne sağ tıklayıp “İncele” diyoruz. » Devamını Oku

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.  » Devamını Oku

Excel ‘de Makro ile Hücre Renklendirme

Blog takipçilerimin ricasıyla birlikte Microsoft Excel ‘de VBA Makro konularına öncelik vermeye devam ettiğim bu günlerde, VBA Makro ile seçili hücreyi nasıl renklendirebileceğimizi anlatacağım.

Makro yardımıyla Excel ‘de hücre renklendirmek için Makro kayıt yöntemi kullanabilirsiniz. Mesela A1 hücresini maviye boyamak istiyorsunuz veya tablo içerisinde her seçtiğiniz hücreyi kontrol ettiğinizi vurgulamak için maviye boyamak istiyorsunuz ama bunun için biçim Dolgu Rengine tıklayarak mı boyama yapıyorsunuz?

Öyleyse yeni makro oluşturalım ve neler yapılabilir konu içerisinde göz atalım.

» Devamını Oku

Excel Makro VBA ile Web ‘den Veri Getirme

Microsoft Excel ‘in kıymetli yeteneklerinden biri olan Excel Dış Veri Alma seçeneklerine değinmek istiyorum. Geçenlerde Excel Web sayfasından veri alma hakkında başlangıç konusu olarak paylaşmış olduğum Excel Döviz Kuru Aktarma | TCMB başlıklı makalede sorgu yaparak Excel sayfasına nasıl döviz getirebileceğimizi incelemiştik. Bugün makalemizde ise Makro VBA ile Excel Web sorgusu yaparak değişken bir web sitesinden istediğimiz başlıkları, verileri nasıl getirebiliriz bunu inceleyeceğim.


 

  • Web sitesinden arama yaparak istediğimiz sonuçları Makro VBA ile Excel ‘e aktarma nasıl yapılır ?

işlemlere başlamadan önce işin özetini açıklayalım sonra da örnek konuya geçelim. Yapmak istediğimiz işlem, herhangi bir web sitesi üzerinden arama yaparak gelen sonuçlardan yalnızca istediğimiz başlıkları, değerleri, bilgileri  vb. ne istersek bunları Excel ‘e aktarmaktır. Bu işlemleri yapabilmek adına birazcık HTML bilgisine ihtiyacımız olacak. Bunları da konu içerisinde örneklerle anlatacağım, hep birlikte inceleyelim.  » Devamını Oku

Excel Select Case Yapısı

Excel Select Case VBA Excel

Makro eğitimlerimizde bugün Microsoft Excel VBA konularından Select Case yapısını inceleyeceğim. Mantığı nedir , Select Case nasıl kullanılır, farklılıkları nelerdir sorularına örneklerle birlikte yanıt bulacağız.

  • Select Case Nedir ?

Belirli şartlar sağlanırsa uygulanacak işlemleri, şartlar sağlanmazsa uygulanacak işlemleri konsolide şeklinde yani yapıları benzer durumda olan nesneleri bir araya getirerek işlem uygulamanızı sağlar. Select Case yapısı daha önceden incelemiş olduğumuz If Then Else yapısıyla benzerlik gösterir, yalnız en önemli farkı yapılacak eğer kriterler çoksa yani değişkenin döndüreceği sonuçlar birden fazlaysa Select Case kullanmak tabiki de avantajlı olur. Değerlendirmeye alalım:

  • Select Case Nasıl Kullanılır ?

Makalemizde Select Case karar yapısıyla alakalı envai çeşit alternatif yapı örneği vereceğim. Bu örnekler içerisinde: Select Case yapısını Excel içerisinde makro komutu olarak kullanmayı, Select Case yapısını Visual Basic Editor yardımıyla Function ( Fonksiyon ) olarak kullanmayı ayrı ayrı inceleyeceğim. İlk olarak hangi mantıkla çalıştığını yani Select Case yapısının bel kemiğine bakalım.

If Then Else yapısını daha önce detaylı incelediğim için burada yalnızca Select Case özelliklerini inceleyeceğim.
Select Case

Select Case Değişken
Case Değişken Değer
Yukarıdaki kriter uygunsa sonuç
Case Else
Uymuyorsa sonuç
End Select

Yukarıda görmüş olduğunuz düzende ilk olarak Değişken belirlenir. Nedir bu değişken, adı üstünde bizim belirleyeceğimiz herhangi değer demektir. Sonrasında alt satıra Case değişken değer eklenir, buradaki değişken değerin ilkinden farkı, kuraldır. Yine kuralı biz belirleyeceğiz o yüzden değişken değer denir. Şimdi belirlediğimiz kriter ( Excel içindeki işlemler ) Select Case yapısını çalıştırdığımızda ilk belirlenen kritere uygun değilse, Case Else komutundan sonraki işlemi uygular. » Devamını Oku

Excel VBA Döngüleri ve Detaylar

Microsoft Excel içerisinde Visual Basic kullanıcılarının ne yazık ki sevmediği konulardan bir tanesi olarak görülen VBA döngülerini, değerli okurlarımın ricalarıyla birlikte mercek altına almaya karar verdim. Döngüler yazılım dillerinde en zaruri ihtiyaçtır. Çünkü hazırlanan kodların çalışması, sonlandırılması ve kasedi tekrar başa sarması gerekir. Bu sistemin oluşması Visual Basic’te döngü algoritmasına bağlıdır.

Bu işlemler belirli bir mantıksal düzene sahiptir. Yani belirlenen işlevi tekrar çalıştırmak istediğimizde, bizleri uzun uzun satırlar boyu makro kodları yazmaktan ihraç ederler. Bugün makalede ele alacağımız döngülerin başlıklarını atalım, arkasından da maddesel olarak detaylandırmak istiyorum.

  • Excel içerisinde kullanabileceğiniz Döngüler;
  1. For Next ,
  2. For Döngüsünü iç içe kullanmak ,
  3. Do While Loop ,
  4. Do While Wend ,
  5. Do Until Loop ,
  6. Do Loop While ,
  7. Do Loop Until ,

İlk olarak birinci maddede yazan For Next döngüsünü ele alarak konuya start verelim.

  • For Next Döngüsü;
Sub ForNext()
Dim i As Integer
For i = 2 To 20
Cells(i, 1) = i
Next i
End Sub

Amacımız Excel’ de tekrar eden basit bir makro çalıştırmak. Hedefimiz A2 hücresine 2 sayısını yazdırmak, ardından A20 hücresine kadar birer birer arttırarak değer yazdırmak. Yani makroyu çalıştır A2 hücresine 2 değerini yaz, sonra git aynı makroyu çalıştır ve sıradaki A3 hücresine 3 değerini yaz, tekrar aynı makroyu çalıştır ve A4 hücresine 4 değerini yaz, gel, gel, gel A20 hücresine 20 değerini yaz ve dur. Şimdi buradaki isteklerimizi her satır için iki işleme tabii tutarsak yani satır seç – değer yaz mantığında düşünelim, toplamda kırk adet cümle yazmam gerekirdi. Bu da kırk satır makro kodu demektir. Şimdi For Next döngüsünün kıymetini anlayabilirsiniz. Bir kaç satırlık döngü sayesinde 40 satırlık ve daha fazlasını içeren çalışma dosyasında ise belkide yüzlerce satırlık bir işlemi toparlamamızı sağlayacak.

Yukarıdaki döngünün temel mantığını makro kodlarıyla anlatmaya çalıştım ama anlamını metinsel olarak özet geçelim.

İlk olarak yaptığımız işlem, i değerinin sistem içerisinde tam sayı olduğunu ifade etmek. Bunun için Integer komutu kullanılır. Yani şu şekilde hazırlanır; ” Dim i As Integer ”

Tam sayı olarak ifade edilen değeri For Next döngüsü kullanarak makro oluşturacağız. Burada ikinci satıra geçerken For i = 2 To 20 ibaresini görmüşsünüzdür. Bunun anlamı, az önce tam sayı olarak belirttiğiniz i değerini, ikinci hücreden yirminci hücreye kadar çalıştırabilirsin demektir. Bir nevi çizgileri çekiyoruz bu sahanın kapsama alanında oynayabilirsin gibilerinden…

Sırada Cell (i,1) komutu var. Nedir bu (i,1), hep bu şekilde garip terimler görüyorum makro kodlarında… sorularının yanıtını veriyorum. i değeri bizim için tam sayı demekti, hangi tam sayılar ? iki ile yirmi arasındaki tam sayılar.

Yani Cell (i,1) = Cell (2,1), Cell (3,1), Cell (4,1)…………Cell (20,1) demektir. Yanındaki 1 değeri ise sütun sayısını verir. 1. sütun demektir. Bu da hücre adresinin koordinatlarını verir. Cell (2,1) = A2 gibi..

Makro kodları içerisinde i değerinin kullanılma sebebi budur. Değişken tamsayı! (Aklınızda olsun For i 2 to 20 arasındaki sayılar)

En sonunda ‘ Next i ‘ komutu yazılır.Belirtilen  i değerini 1 sayı arttıran komuttur ve makro kodunu başa döndürür akabinde anlattığımız kodları baştan çalıştırır. Taa ki bizim belirlediğimiz son işleme kadar çalışır. Peki For Next döngüsünde artan sayıyı birer birer değil de ikişer ikişer attırmak istersek ne yapmamız gerekir ?

  • Step;

Döngü içerisinde ardışık sayılar veya istediğiniz değerde sayıyı arttırarak devam etmek isterseniz Step ifadesini kullanmanız gerekir. Aşağıdaki örnek makro kodunda Step ifadesini ekleyerek düzenleme yaptım. Makro kodlarını çalışma kitabınıza ekleyerek sizde deneme yapabilirsiniz.

Sub ForNextStep()
Dim i As Integer
For i = 3 To 20 Step 2
Cells(i, 2) = i
Next i
End Sub

Ek Not: Step ifadesinin düzenlemesinde satırların ikişer ikişer atlamasını sağlayabildiğimiz gibi, döngünün geriye dönük çalışmasını da imkan verebiliriz. Mesela geriye dönük çalıştırabilmek için ” For i = 20 to 3 Step -2 “şeklinde büyük satırdan küçük satıra doğru negatif Step değeriyle gidilmesini sağlayabiliriz.

Makro kodlarını eklemek için Excel’de Geliştirici sekmesinin aktif olması gerekir. Geliştirici sekmesinin nasıl aktif edildiğini görmek için buradaki konudan inceleyebilirsiniz.

For Next döngüsünü tüm ana hatlarıyla adım adım incelemiş olduk. Bitmedi daha, For Next döngüsünü iç içe kullanıp istediğimiz gibi şekillendirme şansımız bulunuyor.

Yukarıdaki makro kodlarını 3. ve 4. sütunlar üzerinde çalıştırmak istiyorum. Bu sefer Excel içerisinde hem For Next döngüsünü kullanacağım, hem Step ifadesini ekleyeceğim hem de iç içe bağlam kuracağım. Aşağıdaki kodlar sonuç getirecektir.

  • For Next (İç içe Döngü) + Step Kullanımı;
Sub ForNextIn()
Dim i As Integer
Dim c As Integer
For c = 3 To 4
For i = 3 To 20 Step 3
Cells(i, c) = i
Next i
Next c
End Sub

Küçük not düşmek istiyorum, burada kullanılan Integer değerinin Visual Basic içerisinde belirli limitleri bulunmaktadır. Integer limitlerini aşan değerler girerseniz, makro çalıştığında ‘OverFlow’ hatasıyla karşılaşırsınız. Bunun için yüksek bitiş değerine sahip limitlerde Integer yerine Long olarak tanımlamanız gerekir. Integer değerinin limitlerini buradaki linkten inceleyebilirsiniz.

  • For Each ;

For Each döngüsüyle For Next döngüsüne arasında ne gibi fark vardır sorularına cevap aradığınız bölüm burası… For Each döngüsü genelde belli bir nesne topluluğunda kullanılır. Belirli bir koleksiyondaki tüm nesneleri döndürür. İkisi arasındaki çalışma mantığını anlatan farkları maddesel olarak sunacağım böylesi daha kolay olacaktır.

  • For Next : Döngünün kaç defa çalışacağını kullanıcı belirlerken,
  • For Each : Döngünün kaç defa çalışacağını genellikle bir dizi değişken yardımıyla belirlenir. Buradan anlaşılacağı üzere Each döngüsündeki kurgulama dizilerle beraber yapılır demektir. Bunu kısa bir örnek kodla açıklamak istiyorum.
Sub ForEach()
Dim Excel As Range
Dim Makro As Integer
Makro = 3
For Each Excel In Range("E3:E20")
Excel.Value = Makro
Makro = Makro + 1
Next Excel
End Sub

Hazırlanan makro kodlarının aslen Türkçesi, benim belirlediğim dizi aralığında çalışabilirsin demektir.

For Next döngüleri içerisinde her detayı sizlerle paylaştım. Hatta bunlarla ilgili örnek çalışma dosyasını da konu bitiminde paylaşacağım. Buraya kadar ki anlatımlarıma istinaden konuyu toparlamak adına Excel’den sonuç tablosu olarak ekran görüntüsü paylaşayım daha doğrusu hareketli gif olarak paylaşacağım ki zihninizde kalıcı etkisi yaratabilir.

Visual Basic For Next Donguler Excel Egitimleri


  • Do While – Loop ;

Do While döngüsü koşul sağlandığı süre boyunca çalışıyor. For döngüsünden farkı ise i değerini benim arttırmam gerekiyor. Önemli olan detayda burada; eğer i değerini arttırmazsanız varsayılan koşul 1 olur ve istenen koşul sağlandığından dolayı bitmeyen sonsuz döngü içerisine girer. Şimdi aşağıdaki Do While döngü kodlarını biraz irdeleyelim.

Sub DoWhile()
Dim i As Integer
i = 3
Do While i < 21
Cells(i, 5).Value = i
i = i + 1
Loop
End Sub

Yukarıdaki oluşumda i=3 makronun başlangıç satır sayısını belirtir yani üçüncü satırdan itibaren makro çalışmaya başlayacak. Arkasından Do While i değerini belirtiyoruz. 3 ila 20. satırlar arasında döngü çalıştırmak istiyorsam Do While i < 21 yazarım. Onun arkasından Cells(i,5) adresi 5. sütun 3. satırdan başlayacağı anlamına gelir.

  • Do While – Wend ;

Do While Wend ilişkisi, Do While Loop yapısıyla aynıdır, aralarında bir fark yoktur. Loop döngüsü daha çok tercih ediliyor.

  • Do Until – Loop ;

Do Until döngüsünde (until ingilizce kelime anlamında olduğu gibi -e kadar) koşul sağlanana kadar çalışır. Hücre sayısı 20’den büyük olana kadar döngüyü çalıştır komutunu oluşturuyorum. Bunun için aşağıdaki kodları Makro sayfanıza ekleyip deneyin.

Sub DoUntil()
Dim i As Integer
i = 3
Do Until i &gt; 20
Cells(i, 6).Value = i
i = i + 1
Loop
End Sub
  • Do Loop While;

Do While döngüsüyle aynı mantık çerçevesinde çalışır. Aradaki farkları merak ediyorsunuz hemen anlatayım.

Fark ettiyseniz While koşulu Loop koşulundan sonra geliyor, bu da demek oluyor ki döngümüz koşulu en sonda kontrol ediyor. Yani mevcut döngü belirlenen koşula bakmaksızın en az 1 defa çalışır. Koşula uygun olan kodlar aşağıdaki gibidir.

Excel Koşula uygun;

Sub DoLoopWhile()
Dim i As Integer
i = 3
Do
Cells(i, 7).Value = i
i = i + 1
Loop While i &lt; 21
End Sub

Tam tersi koşula uymayan versiyonunu da aşağıdaki kodlara ekliyorum, böylece her iki durumda sonuçları karşılaştırabilirsiniz.

Excel Koşula uygun değil; Aşağıdaki kodlarda i = 22 yapıyorum, başlangıç hücresi 22 olursa kriterimize uygun olmayacaktır ama döngü yine de 1 sefer çalışacaktır. Sonuçları görmek isterseniz örnek dosyayı indirip inceleyebilirsiniz.

Sub DoLoopWhile()
Dim i As Integer
i = 22
Do
Cells(i, 7).Value = i
i = i + 1
Loop While i &lt; 21
End Sub
  • Do Loop Until;

Do Until döngüsüyle aynı mantıkta çalışır. İki döngü arasındaki fark Until döngüsü Loop’tan sonra geliyor. Akabinde belirlenen koşulu en sonda kontrol ediyor. Yani koşul sağlansa da, sağlanmasa da döngümüz en az 1 defa çalışır.

Sub DoLoopUntil()
Dim i As Integer
i = 3
Do
Cells(i, 8).Value = i
i = i + 1
Loop Until i &gt; 20
End Sub

Kodlara dikkat ettiyseniz eğer, neyin neye yaradığını anlamak artık daha kolay… Döngüyü 3. satır 8. sütundan itibaren başlat, i değerini yazdır ve üzerine +1 ilave ederek alttaki hücrede tekrar çalıştır taa ki 20. satıra kadar…

  • Exit For, Exit Do; Çıkış Komutları Nasıl Kullanılır ?

For döngülerinde koşulların bitmesini beklemeden istediğimiz zaman Exit For komutuyla, Do Loop gibi yukarıda anlattığım gibi kriter içeren döngülerde ise Exit Do komutuyla çıkış yapabiliriz.

Kısa bir örnekle şekillendirelim;

...
If Deger &amp;gt;= 3 And Deger &amp;lt;= 9 Then
Continue For
End If
If Deger = 10 Then
Exit For
End If
Next
...

 


Sırasıyla Excel içinde incelediğimiz döngü başlıklarına en ince ayrıntılarına kadar öğrenmiş olduk.

  1. For Next ,
  2. For Each ,
  3. For Döngüsünü iç içe kullanmak ,
  4. Do While Loop ,
  5. Do Until Loop ,
  6. Do Loop While ,
  7. Do Loop Until ,

Konuda anlatmış olduğum tüm Excel döngülerini aşağıdaki çalışma kitabından inceleyip test etmek isterseniz, hazırladığım örnek dosyayı linkten indirebilirsiniz.

Excel VBA Döngüler – Çalışma Dosyası,

Microsoft Excel VBA Donguler For Next Do While Until Loop

[ for next do while do until loop in excel vba example macro]

[ Do , While , Wend , Until , Loop , For , Next , To , Exit , Goto ,]

Excelde Satırların Başına veya Sonuna Makro ile Değer Eklemek

Visual Basic

Excel’de hücrelerin başına ve sonuna ekleme yapmak, hepimizin bildiği gibi fonksiyon kullanarak uygulanabilen kolay bir yöntemdir. Bunu daha önce incelemiş olduğumuz Metin Fonksiyonları 1. Bölüm içerisinde“Birleştir” formülü ile sağlayabiliriz. Ayrıca Excel’de bulunan tüm metin fonksiyonlarını detaylı olarak incelemek isterseniz aşağıdaki konulara göz atmanızı önerebilirim.

Metin Fonksiyonları 1. Bölüm

Metin Fonksiyonları 2. Bölüm

Metin Fonksiyonları 3. Bölüm

Metin Fonksiyonları 4. Bölüm

Peki bu değer ekleme işlemini makro kullanarak daha hızlı ve kolay yoldan uygulamak istemez miydiniz? Öyleyse incelemeye devam edelim.

Bloğumu takip eden kullanıcılarım için, birleştir fonksiyonunun detaylı anlatımını atlayarak, bu konumuzda Hücrelerin başına veya sonuna nasıl karakter eklenir? sorusuna yanıt bulacağız. » Devamını Oku

1 2