Excel Makro Eğitimleri- If Yapısı

Merhabalar bu yazımda if yapısının Vba üzerindeki kullanım şeklini göreceğiz. Örnekler üzerinden de konuyu pekiştireceğiz. 

If Yapısı

If yapısını koşul belirtilen durumlarda kullanırız. Normalde Excel de kullandığımız “Eğer” formülünün vba daki karşılığı diye de aklımızda tutabiliriz. Kullanım şekli aşağıdaki gibidir.

Şimdi Vba üzerinde bir uygulama yapalım.

Elimizde aşağıdaki gibi illere göre kadın ve erkek nüfusu bilgilerinin olduğu bir veri olsun ve biz bu veri setinde DURUM yazan sütuna kadın nüfusunun mu fazla yoksa erkek nüfusunun mu fazla olduğunu yazdırmak istiyoruz.

(Bunu direkt olarak Eğer formülü ile de yapabiliriz fakat ben vba üzerinde mantığını anlayabilmek adına böyle bir örnekle başlayalım istedim.)

Şimdi sayfamıza bir tane düğme ekleyelim. Bunun için sırasıyla Geliştirici- Ekle- Form denetimleri- Düğme adımlarını takip edelim.

sorgula sonuç_004

Düğmeyi sayfada rastgele bir yere bırakalım daha sonra gelen ekranda Yeni seçeneğine tıklayalım. Bu sayede düğmemize makro atayabileceğiz.

Şimdi kodlarımızı yazabiliriz.

Detaylıca anlatacak olursak öncelikle bir aralık belirledik. Bunu yaparak aslında hangi satır ve sütunlarda sorgulama yapacağımızı belirttik. Bizim verimizde değerler 4. Satırdan başlayıp 28. Satıra kadar devam ediyordu. Dolayısı ile aralığımızı For i = 4 to 28 diyerek belirledik.

Daha sonra koşullarımızı uyguladık.

Sayfa1.Cell(i,4) —  1.Sayfadaki i. Satır, 4. Sütun anlamına gelir.

Örneğimizde erkek nüfus kadın nüfusundan fazla ise durum sütununa “erkek nüfus fazla” yazsın istiyorduk.

Dolayısı ile verilerimizde erkek nüfusuna ait  değerler 4. Sütunda, kadın nüfusuna ait değerler ise 5.sütunda yazdığından koşulumuza uygun kodu If Sayfa1.Cells(i, 4) – Sayfa1.Cells(i, 5) > 0 Then şeklinde girdik.

Bu kod ile her i satırı için gerekli işlemi yaptırmış olduk..

Diğer koşullarımız içinde kodlarımızı yazıp  End if  ve Next komutları ile işlemlerimizi sonlandırdık.

Burada For-Next bir döngüyü temsil etmektedir. Dolayısı ile For ile başlattığımız bir döngüyü Next ile kapatmalıyız aksi taktirde kod hata verir.

Daha güzel durması açısından düğmemizin adını Sorgula olarak değiştirelim..

Sorgula buton

Artık düğmemize basıp sonuçları görebiliriz.

sorgula sonuç son_005