VBA kodu, sıfırdan yazılan, insan tarafından okunabilen ve düzenlenebilen bir programlama dilidir, aksi takdirde Excel, bir makro kaydettiğimizde kendi kodunu üretir. VBA makrolarını kullanarak, Excel'deki tüm zor görevleri otomatikleştirebiliriz.
VBA, Microsoft tarafından Office Uygulamaları için oluşturulmuş bir programlama dilidir. Excel'de düzenli olarak çok fazla manuel iş yaparız. Bu, önemli miktarda zaman alır ve üretkenliği etkiler. Bu nedenle, Excel'de görevleri otomatikleştirebilen VBA adlı bir otomasyon kodlama dilimiz vardır
ÖNEMLİ NOKTALAR
- VBA (Visual Basic for Applications) kodu kolaylıkla yazabileceğimiz, okuyabileceğimiz ve düzenleyebileceğimiz programlama kodudur.
- VBA makrolarını kullanmak görevleri otomatikleştirmemize ve muazzam miktarda zaman ve iş tasarrufu yapmamıza yardımcı olur.
- Makro Kaydet seçeneği Excel'de yapılan tüm işlemleri kaydedecek ve VBA kodu oluşturacaktır.
- VBA Makro kodları satır satır çalıştırılır.
- VBA kodu oluşturulduktan sonra çalışma kitabını “Makro Etkin Çalışma Kitabı” olarak kaydetmemiz gerekir.
Geliştirici Sekmesini Etkinleştir
Visual Basic for Applications , Excel'deki Geliştirici sekmesi altında mevcuttur . Aşağıdaki görüntü, Excel'deki Geliştirici sekmesi altında Visual Basic'i göstermektedir.

Ancak bazen Geliştirici sekmesini göremeyebiliriz . Aşağıdaki adımlar Geliştirici sekmesini etkinleştirmeniz için size rehberlik edecektir.
Adım 1: Dosya sekmesine gidin .

Adım 2: Seçenekler'e tıklayın .

Adım 3: Bu Excel Seçenekleri penceresini getirecektir . Excel Şeridini Özelleştir'e tıklayın .

Adım 4: Ana Sekme altında Geliştirici sekmesi kutusunu işaretleyin .

Adım 5: Tamam'a tıklayın . Şimdi Geliştirici sekmesini görebileceğiz . Geliştirici sekmesinin altında Makrolar var.

Excel'de VBA Kodu Nasıl Yazılır?
VBA'da yeni başlayan biri olarak, VBA kodunu sıfırdan anlamak zordur. Ancak yolculuğumuza başlamak için Record Macro adlı bir seçeneğimiz var.
Makro Kaydet, Excel'de gerçekleştirdiğimiz tüm aktiviteleri kaydetmek için Excel'de bulunan bir özelliktir. Tüm aktiviteleri yakalayan bir kayıt cihazı gibidir. Makro Kaydetme, Geliştirici sekmesi altında mevcuttur.

Size bir makronun kaydedilmesi ve kodun okunmasına dair basit bir örnek göstereceğiz.
Adım 1: Geliştirici sekmesine gidin ve Makro Kaydet seçeneğine tıklayın .

Adım 2: Aşağıdaki gibi Makro Kaydet penceresi açılacaktır .

Adım 3: Makroya bir isim verin. Bir makroya isim verirken lütfen aşağıdaki ölçütlere bakın.


Adım 4: Tamam'a tıklayın ve kayıt başlar. Şimdi Excel tüm aktiviteleri kaydedecek ve bunları VBA kodunda saklayacaktır.
İlk yapacağımız aktivite A1 hücresini seçmektir.

Adım 5: Seçili hücreye İlk Makrom metnini girin .

Adım 6: Hala A1 hücresindeyiz. Metni girdikten sonra Enter tuşuna basın, aşağıdaki hücre yani A2 hücresi seçilecektir.

Görüldüğü gibi A2 hücresi seçilmiştir.
Adım 7: Şimdi tekrar A1 hücresini seçin ve aşağıdaki biçimlendirmeyi uygulayın.
Font Name = Times New Roman
Font Size (Yazı Boyutu) = 14
Font Color (Yazı Tipi Rengi) = Blue (Mavi)
Font Style (Yazı Tipi Stili) = Bold (Kalın)

Adım 8: VBA'ya başlamak için bu aktiviteler yeterlidir. Geliştirici sekmesi altında Kaydı Durdur'a tıklayın .

Artık kayıt durduruldu ve hiçbir aktivite kaydedilmeyecek.
Makroyu Çalıştır
Adım 1: A1 hücresindeki değeri silin ve başka bir değer seçin.

Adım 2: Geliştirici sekmesine gidin ve Makrolar seçeneğine tıklayın .

Adım 3: Bu, tüm makroların listesinin olduğu Makro penceresini getirecektir . Makroyu kaydederken verdiğimiz makro adını seçin, yani Trial_Macro ve OK'e tıklayın .

Tamam'a tıkladığımız anda kayıt sırasında yaptığımız tüm işlemler yapılacak ve A1 hücresinde yazıyı görebileceğiz.

Kodu Anlayın
Kayıt, VBA'daki kodlar aracılığıyla yapılır. Tüm aktivitelerin kodlarını görüntülemek için Visual Basic Editor penceresine gitmemiz gerekir.
Geliştirici sekmesine gidin ve Visual Basic seçeneğine tıklayın .

Bu, aşağıda gösterildiği gibi Visual Basic Düzenleyici penceresini açacaktır.
Not: Visual Basic Editor penceresini açmak için kısayol tuşları ALT + F11'dir.

Kodu görmek için Module1'e çift tıklayın .

İlk bakışta kod size yabancı gelebilir, ancak gelin size basit bir şekilde açıklayalım.
İlk kelime Sub Record_Macro'dur .
SUB, makro adını başlatan kelimedir. Bu nedenle, bu kelimeyi mavi renkte görebiliriz.
Makroyu kaydederken yaptığımız ilk şey makroya bir isim vermekti, yani, Trial_Macro . Böylece, Excel bunu programın başlangıcı olarak kabul eder, bu yüzden program Sub kelimesiyle başlar ve ardından makro adı gelir, yani, Record_Macro .

Kayıt başladıktan sonra A1 hücresini seçtik ve Excel bunu Aralık(“A1”) olarak kaydetti.Seç

A1 hücresini seçtikten sonra İlk Makrom değerini girdik. A1 hücresini ActiveCell olarak kaydetmiştir çünkü A1 hücresini seçtiğimiz anda aktif bir hücre haline gelmiştir. VBA bunu aktif bir hücre olarak ele alır; dolayısıyla A1 hücresi aktif bir hücredir.

Sonra, biçimlendirmek için yine A1 hücresini seçtik, bu nedenle bunun için VBA kodu Range(“A1”).Select

A1 hücresi seçildikten sonra bazı biçimlendirmeler uyguladık, bu nedenle VBA bunu birden fazla parçaya ayırdı.

Birkaç satır kod tek bir bloğa kısaltılabilir. Aşağıda kısaltılmış kod bulunmaktadır.

Tüm dört biçimlendirme görevi artık tek bir blok altında. Yani, genel kod şu şekilde okunur.

Daha İyi Anlamak İçin Makroyu Satır Satır Çalıştırın
VBA makro satırlarının nasıl çalıştığını anlamak için, bunları satır satır yürütmeliyiz. A1 hücresindeki değeri silin ve başka bir hücreyi seçin.

ALT + F11 kısayol tuşunu kullanarak Visual Basic Editor'ı açalım , aşağıdaki görüntüdeki gibi bir kod penceresi göreceğiz.

İmleci makronun içine getirin ve kısayol tuşu olan F8'e basın .

Gördüğümüz gibi, makronun ilk satırı sarı renkle vurgulanmıştır. Bu, bu satırın yürütülmek üzere olduğu anlamına gelir; bu nedenle, makronun çalışmasını başlatmak için F8 tuşuna basın.

Makronun ilk satırı Range(“A1”).Select'tir , yani geçerli çalışma sayfasındaki A1 hücresini seçecektir. Şu anda etkin hücre B3'tür; bu nedenle bu satırı yürütmek için F8 tuşuna basın ve A1 hücresi seçilecektir.

Bir sonraki satır A1 hücresine İlk Makrolarım değerini ekleyecektir . Bu satırı yürütmek için F8 tuşuna basın.

- Daha sonra tekrar A1 hücresini seçecektir. Bu satırı çalıştırmak için F8 tuşuna basın.
- Bir sonraki satır FONT özelliği için WITH ifadesini başlatacaktır.
- Yazı tipi adını Times New Roman olarak değiştirecektir .

Daha sonra yazı tipi boyutunu 14'e değiştirecektir.

Daha sonra çizginin rengi MAVİ'ye dönüşecektir (VBA Kayıt Makrosu'nda mavi renk bu sayı ile temsil edilir -4165632).

Daha sonra satır yazı tipini Kalın yapacaktır .

Bu şekilde VBA makro kodları satır satır çalıştırılır.
VBA Kod Örnekleri
Örnek 1: Sıfırdan Kendi Kodunuzu Yazın
VBA kodunu sıfırdan kendi başınıza yazmanız için size rehberlik edelim. Aşağıdaki şeyleri otomatikleştirmemiz gerektiğini varsayalım.
- Görev 1: A1:B5 aralığındaki verileri kopyalayın.
- Görev 2: Kopyalanan verileri D1:E5 aralığına yapıştırın.
- Görev 3: A1:B5 aralığındaki verileri silin.
Kodu yazmak için Excel'de şu verilerimiz var.

Daha sonra Excel'de ALT + F11 kısayol tuşlarına basarak Visual Basic Editor penceresini hızlıca açın .
Adım 1: Makroyu başlatmak için “SUB” anahtar kelimesini ve ardından makro adını girin.

Adım 2: Enter tuşuna basın , otomatik olarak “End Sub” gelecektir.

Adım 3: SUB ve END SUB arasına kodumuzu yazmalıyız.
Sonra, yapmamız gereken ilk iş A1:B5 aralığını kopyalamaktır. Bu nedenle, bu hücre aralığını seçmek için VBA'daki RANGE özelliğini kullanmalıyız .

Adım 4: Çift tırnak içindeki hücre aralığını aşağıdaki gibi girin.

Adım 5: Girilen aralıkta kopyalama yapmalı ve RANGE özelliğinin IntelliSense özellik ve metot listesini almak için bir nokta (.) girmeliyiz.

Noktaya girdiğimiz anda VBA IntelliSense listesi bize RANGE özelliğinin özelliklerini ve metodlarını gösterdi.
Adım 6: Listeden kopyalama yöntemini seçin.

Adım 7: Bu, A1:B5 aralığını kopyalayacaktır. Sonra, kopyalanan verileri “D1:E5” aralığına yapıştırmamız gerekir, bu yüzden tekrar RANGE özelliğine girin ve yapıştırma alanına girin.

Adım 8: Verilen aralıkta yapıştırma yapmamız gerekiyor, bu nedenle “özel yapıştır” yöntemini seçiyoruz.

Adım 9: Görev #3, A1:B5 aralığındaki değerleri silmektir. Yani tekrar aralık özelliğine girin ve “Clear” yöntemini seçin.

Daha sonra F5 tuşuna basarak bu kodu çalıştırdığımızda aşağıdaki sonucu elde edeceğiz.

Bu şekilde kendi makrolarımızı sıfırdan yazabiliriz.
Örnek 2: Tüm Çalışma Sayfalarını Gizle
Aşağıdaki kod, “Sheet1” çalışma sayfası haricindeki tüm çalışma sayfalarını gizlemenize yardımcı olacaktır.

Yukarıdaki kodu kopyalayıp Visual Basic Editor penceresine yapıştırın.

Bu kodu çalıştırdığınızda, çalışma kitabınızdaki "Sheet1" adlı çalışma sayfası hariç tüm çalışma sayfaları gizlenecektir.
Örnek 3: Tüm Çalışma Sayfalarını Göster
Benzer şekilde, tüm çalışma sayfalarını görünür kılmak istiyorsak, aşağıdaki kodu kullanabiliriz.

Yukarıdaki kod tüm gizli çalışma sayfalarını görünür hale getirecektir.

VBA Makro Çalışma Kitabını Kaydetme
Makro kaydı tamamlandıktan sonra yapmamız gereken bir diğer önemli şey ise çalışma kitabını Makro Etkin Çalışma Kitabı dosya uzantısı olarak kaydetmektir.
VBA kodunu oluşturduktan sonra Kaydet butonuna tıkladığımızda karşımıza aşağıdaki komut gelecektir.

Daha önce kaydedilmiş dosya sürümleri olan XLSX nedeniyle, bu dosyada makro kodunu oluşturduğumuzda, "Aşağıdaki özellikler makro etkinleştirilmiş çalışma kitaplarına kaydedilemez." uyarı mesajını veriyor.
Bunu kaydedebilmek için dosyayı “Excel Makro Etkin Çalışma Kitabı” dosya türüyle kaydetmemiz gerekiyor.

Dosyayı “Excel Makro Etkin Çalışma Kitabı” dosya türünde kaydettiğimizde, normal dosya uzantısı ile makro dosya uzantısı arasında bir simge farkı göreceğiz.

XLSM makro dosyası, XLSX ise makro olmayan dosyadır.
Dikkat Edilmesi Gereken Önemli Noktalar
- VBA, Visual Basic for Applications'ın kısaltmasıdır.
- Excel'de geliştirici sekmesi varsayılan olarak gizlidir.
- Makro adı sayısal bir değerle başlamamalı ve alt çizgi (_) karakteri dışında herhangi bir boşluk veya özel karakter içermemelidir.
- ALT + F11, Visual Basic Editor penceresini başlatmak için kullanılan kısayol tuşudur.
- Sıfırdan makro yazarken IntelliSense listesini görmek için kısayol tuşu Ctrl + Space'tir.
- F8, makro kodlarını satır satır çalıştırmaya yarayan kısayol tuşudur.
