Hiç İhtiyacınız Olan En İyi VBA Kılavuzu (Yeni Başlayanlar İçin)

Neredeyse tüm Microsoft Office ürünlerinde çalışan (Microsoft Office)VBA programlama(VBA programming) platformu , bu ürünlerin kullanımını geliştirmek için herkesin kullanabileceği en güçlü araçlardan biridir.

Yeni başlayanlar için bu VBA kılavuzu, (VBA)Geliştirici(Developer) menüsünü Office uygulamanıza nasıl ekleyeceğinizi, VBA düzenleyici penceresine nasıl gireceğinizi ve Excel , Word , Powerpoint'te VBA'yı (Powerpoint)kullanmaya(VBA) başlayabilmeniz için temel VBA deyimleri ve döngülerinin nasıl çalıştığını gösterecektir . Outlook ve OneNote .

Bu VBA kılavuzu, (VBA)Microsoft Office ürünlerinin en son sürümünü kullanır . Daha eski bir sürümünüz varsa, ekran görüntülerinden bazı küçük farklılıklar görebilirsiniz.

VBA Düzenleyicisi Nasıl Etkinleştirilir ve Kullanılır(How To Enable & Use The VBA Editor)

Bu kılavuzda kullanılan Office(Office) ürünlerinin hiçbirinde başvurulan Geliştirici(Developer) menüsünün olmadığını fark edebilirsiniz . Geliştirici menüsü yalnızca Excel , Word , Outlook ve Powerpoint'te(Powerpoint) mevcuttur . OneNote , uygulamanın içinden (OneNote)VBA kodunu düzenlemek için bir araç sunmaz , ancak diğer Office programlarından  OneNote ile etkileşim kurmak için yine de OneNote API'sine başvurabilirsiniz.(OneNote API)

Bunu nasıl yapacağınızı yakında çıkacak olan Gelişmiş VBA(Advanced VBA) kılavuzumuzda öğreneceksiniz.

  • Herhangi bir ofis ürününde Geliştirici(Developer) menüsünü etkinleştirmek için Dosya(File) menüsünü seçin ve sol gezinme menüsünden  Seçenekler'i seçin.(Options)
  • Bir Seçenekler(Options) menüsü açılır penceresi göreceksiniz . Sol gezinme menüsünden Şeridi Özelleştir'i(Customize Ribbon) seçin .

Soldaki liste, o Office uygulamasında kullanılabilen tüm menüleri ve menü komutlarını içerir. Sağdaki liste şu anda mevcut veya etkinleştirilmiş olanlardır.

  • Geliştiriciyi(Developer) sağdaki listede görmelisiniz , ancak etkinleştirilmeyecektir. Geliştirici(Developer) menüsünü etkinleştirmek için onay kutusunu seçmeniz yeterlidir .(Just)

  • Sağda Geliştirici(Developer) seçeneğini görmüyorsanız , soldaki Komutları seçin(Choose commands) açılır menüsünden Tüm Komutlar(All Commands) olarak değiştirin . Listeden Geliştirici'yi(Developer) bulun ve bu menüyü Şerit'e(Ribbon) eklemek için ortadaki Add>> öğesini seçin .
  • İşiniz bittiğinde Tamam'ı(OK) seçin .
  • Geliştirici(Developer) menüsü etkinleştirildiğinde , ana uygulama pencerenize geri dönebilir ve üst menüden  Geliştirici'yi seçebilirsiniz.(Developer)
  • Ardından , VBA düzenleyici penceresini açmak için şeritteki Kontroller(Controls) grubundan Kodu Görüntüle'yi(View Code) seçin .

  • Bu , sonraki birkaç bölümde öğreneceğiniz kodu yazabileceğiniz VBA düzenleyici penceresini açacaktır.(VBA)

  • Geliştirici(Developer) menüsünü her gün kullandığınız birkaç Office uygulamasına eklemeyi deneyin . VBA düzenleyici penceresini rahatça açtığınızda, bu kılavuzun sonraki bölümüne geçin.

Yeni Başlayanlar için Genel VBA Programlama İpuçları(General VBA Programming Tips for Beginners)

VBA düzenleyicisi açıldığında, sol paneldeki gezinme seçeneklerinin bir Office uygulamasından diğerine farklı göründüğünü fark edeceksiniz .

Bunun nedeni, VBA kodunu yerleştirebileceğiniz mevcut nesnelerin uygulamada hangi nesnelerin bulunduğuna bağlı olmasıdır. Örneğin, Excel'de(Excel) çalışma kitabına veya sayfa nesnelerine VBA kodu ekleyebilirsiniz . Word'de(Word) belgelere VBA kodu ekleyebilirsiniz . Powerpoint'te(Powerpoint) yalnızca modüllere .

Bu nedenle, farklı menülere şaşırmayın. VBA kodunun yapısı ve sözdizimi tüm uygulamalarda aynıdır. Tek fark, başvurabileceğiniz nesneler ve bu nesneler üzerinde VBA(VBA) kodu aracılığıyla yapabileceğiniz işlemlerdir .

VBA kodu ile üzerlerinde yapabileceğiniz farklı nesnelere ve eylemlere geçmeden önce, VBA kodu yazarken kullanabileceğiniz en yaygın VBA yapısına ve sözdizimine bakalım .

VBA Kodunu Nereye Koymalı(Where To Put VBA Code)

VBA düzenleyicideyken, kodu(VBA) hangi nesneye eklemek istediğinizi ve kodun ne zaman çalışmasını istediğinizi seçmek için düzenleme penceresinin üst kısmındaki iki açılır kutuyu kullanmanız gerekir.

Örneğin Excel'de (Excel)Çalışma Sayfası(Worksheet) ve Etkinleştir(Activate) öğesini seçerseniz , çalışma sayfası her açıldığında kod çalışır. 

VBA kodunuzu tetiklemek için kullanabileceğiniz diğer çalışma sayfası eylemleri , çalışma sayfası değiştiğinde, kapatıldığında (devre dışı bırakıldığında), çalışma sayfası hesaplamasının çalıştırıldığında ve daha fazlasını içerir.

Düzenleyiciye VBA kodu eklediğinizde , her zaman VBA kodunuzu nesneye yerleştirdiğinizden ve bu kodu tetiklemek için kullanmak istediğiniz doğru eylemi kullandığınızdan emin olun.

VBA IF İfadeleri(VBA IF Statements)

Bir IF ifadesi, VBA'da(VBA) diğer herhangi bir programlama dilinde çalıştığı gibi çalışır.

EĞER ifadesinin ilk kısmı, bir koşulun veya koşullar dizisinin doğru olup olmadığına bakar. Bu koşullar, onları birbirine bağlamak için bir AND veya OR operatörü tarafından birleştirilebilir.(AND)

Bir örnek, bir elektronik tablodaki bir notun "geçti" notunun üstünde veya altında olup olmadığını kontrol etmek ve başarılı veya başarısız durumunu başka bir hücreye atamak olabilir.

If Cells(2, 2) > 75 Then Cells(2, 3) = “Pass” Else Cells(2, 3) = “Fail”

Tüm ifadenin tek bir satırda olmasını istemiyorsanız, satırların sonuna “_” sembolü ekleyerek birden çok satıra bölebilirsiniz.

If Cells(2, 2) > 75 Then _
Cells(2, 3) = “Pass”  Else _
Cells(2, 3) = “Fail”

Bu tekniği kullanmak genellikle kodun okunmasını ve hatalarının ayıklanmasını çok daha kolay hale getirebilir.

Sonraki Döngüler İçin VBA(VBA For Next Loops)

IF ifadeleri, yukarıdaki tek bir hücreye bakma örneği gibi, tek karşılaştırmalar için mükemmeldir. Peki ya tüm hücre aralığında döngü yapmak ve her birinde aynı IF ifadesini yapmak istiyorsanız?

Bu durumda bir FOR döngüsüne ihtiyacınız olacaktır. 

Bunu yapmak için, bir aralığın uzunluğunu kullanmanız ve bu uzunluk boyunca veri içeren satır sayısı kadar döngü yapmanız gerekir.

Bunu yapmak için, aralığı ve hücre değişkenlerini tanımlamanız ve bunlar arasında dolaşmanız gerekir. Ayrıca sonuçları uygun satıra gönderebilmek için bir sayaç tanımlamanız gerekir. Yani VBA kodunuz önce bu satıra sahip olacaktır.

Aralık olarak karart , hücre olarak Aralık (Dim rng As Range, cell As Range)
olarak karart satırSayacı Tamsayı olarak(Dim rowCounter as Integer)

Aralık boyutunu aşağıdaki gibi tanımlayın. 

Set rng = Range(“B2:B7”)
rowCounter = 2

Son olarak, bu aralıktaki her hücrede gezinmek ve karşılaştırmayı yapmak için FOR döngünüzü oluşturabilirsiniz.(FOR)

For Each cell In rng
   If cell.Value > 75 Then _
   Cells(rowCounter, 3) = "Pass" Else _
   Cells(rowCounter, 3) = "Fail"

   rowCounter = rowCounter + 1

Next cell

Bu VBA betiği(VBA script) çalıştırıldığında, sonuçları gerçek e-tabloda görürsünüz.

Döngüler VBA(VBA While Loops)

Bir while Döngüsü , aynı (Loop)FOR döngüsü gibi, bir dizi ifade arasında da döngü yapar , ancak döngünün devam etme koşulu, doğru kalan bir koşuldur.

Örneğin, yukarıdaki FOR döngüsünün aynısını aşağıdaki gibi sadece rowCounter değişkenini kullanarak WHILE döngüsü olarak yazabilirsiniz.(WHILE)

While rowCounter < rng.Count + 2
   If Cells(rowCounter, 2) > 75 Then _
   Cells(rowCounter, 3) = "Pass" Else _
   Cells(rowCounter, 3) = "Fail"
   rowCounter = rowCounter + 1
Wend

Not: rng.Count + 2 sonlandırma sınırı gereklidir çünkü satır sayacı 2'de başlar ve verilerin bittiği satır 7'de bitmesi gerekir. Ancak, aralığın sayısı (B2:B7) yalnızca 6'dır ve while döngüsü yalnızca sayaç sayaçtan BÜYÜK olduğunda sona erecektir -(GREATER) bu nedenle son rowCounter değerinin 8 (veya rng.Count + 2) olması gerekir.

Ayrıca while döngüsünü aşağıdaki gibi de kurabilirsiniz:

While rowCounter <= rng.Count + 1

Aralık sayısını (6) yalnızca 1 artırabilirsiniz, çünkü rowCounter değişkeni verilerin sonuna (7. satır) ulaştığında döngü tamamlanabilir.

VBA Do while ve Do Kadar Döngüler(VBA Do While and Do Until Loops)

Yap ve Kadar Yap döngüleri, while döngüleriyle neredeyse aynıdır, ancak biraz farklı çalışır.

  • While Döngüsü(While Loop) , döngünün başında bir koşulun doğru olup olmadığını kontrol eder.
  • Do-While Döngüsü(Do-While Loop) , döngüdeki ifadeleri yürüttükten sonra bir koşulun doğru olup olmadığını kontrol eder.
  • Do-Until Döngüsü(Do-Until Loop) , döngü yürütüldükten sonra bir koşulun hala yanlış olup olmadığını kontrol eder.

Bu durumda, yukarıdaki while döngüsünü Do-While döngüsü olarak aşağıdaki gibi yeniden yazarsınız.

Do
   If Cells(rowCounter, 2) > 75 Then _
   Cells(rowCounter, 3) = "Pass" Else _
   Cells(rowCounter, 3) = "Fail"
   
   rowCounter = rowCounter + 1
Loop While rowCounter < rng.Count + 2

Bu durumda mantık çok fazla değişmez, ancak tüm ifadeler çalıştırıldıktan sonra mantık karşılaştırmasının yapıldığından emin olmak istiyorsanız (en az bir kez ne olursa olsun hepsinin çalışmasına izin verir), o zaman bir Do-While veya Do-Until döngüsü doğru seçenektir.

VBA Select Case İfadeleri(VBA Select Case Statements)

VBA kodunuzu yapılandırmaya başlamak için anlamanız gereken son mantıksal ifade türü, Select Case ifadeleridir.

Yukarıdaki örneğe göre, sadece pass fail olmayan bir not verme yöntemine sahip olmak istediğinizi varsayalım. Bunun yerine, A'dan F'ye kadar bir harf notu vermek istiyorsunuz.

Bunu aşağıdaki Select Case deyimiyle yapabilirsiniz:

For Each cell In rng
   
   Select Case cell

   Case 95 To 100
      Cells(rowCounter, 3) = "A"
   Case 85 To 94
      Cells(rowCounter, 3) = "B"
   Case 75 To 84
      Cells(rowCounter, 3) = "C"
   Case 65 To 74
      Cells(rowCounter, 3) = "D"
   Case 0 To 64
      Cells(rowCounter, 3) = "F"
   End Select

   rowCounter = rowCounter + 1

Next cell

Bu VBA betiği çalıştırıldıktan sonra ortaya çıkan elektronik tablo aşağıdaki gibi görünür.

Artık Microsoft Office(Microsoft Office) uygulamalarınızda VBA'yı(VBA) kullanmaya başlamak için bilmeniz gereken her şeyi biliyorsunuz .



About the author

"Serbest çalışan bir Windows ve Office uzmanıyım. Bu araçlarla çalışma konusunda 10 yılı aşkın bir deneyime sahibim ve bunlardan en iyi şekilde yararlanmanıza yardımcı olabilirim. Becerilerim şunları içerir: Microsoft Word, Excel, PowerPoint ve Outlook ile çalışma; web oluşturma sayfalar ve uygulamalar ve müşterilerin iş hedeflerine ulaşmalarına yardımcı olmak."



Related posts