VBA - Excel'de Visual Basic Düzenleyicisini (VBE) Açma ve Kullanma

Bu öğretici, VBA'daki Visual Basic Düzenleyicisi'nde nasıl açılacağını ve programlanacağını gösterecektir.

Visual Basic Düzenleyicisini Açma

Excel'de Visual Basic Düzenleyicisi'ne (VBE) erişmenin birkaç yolu vardır.

basmak Alt + F11 klavyenizde.

VEYA

Tıklamak Görünüm > Makrolar > Makroları Görüntüle. Buradan yapabilirsiniz Düzenlemek Mevcut bir makro veya Oluşturmak yeni bir. Her iki seçenek de VB Editörünü açar.

VEYA

Geliştirici > Visual Basic

Not: Geliştirici Şeridi'ni görmüyorsanız, etkinleştirmeniz gerekir.

Geliştirici Şeridi'ni etkinleştirmek için

Tıkla Dosya Şeritte sekmeye gidin ve aşağı gidin Seçenekler. İçinde Şeridi Özelleştir seçenekleri, işaretleyin geliştirici onay kutusu. Bu, varsayılan olarak kapalıdır, bu nedenle şeritteki sekmeyi görmek için açmanız gerekir.

Tıklamak Tamam.

Geliştirici sekmesi ana şeritte görünecektir. Visual Basic Düzenleyicisine erişmek için şeridin başında Visual Basic'e tıklayın.

VBE Ekranını Anlamak

VBE Ekranı aşağıdaki grafikte gösterilmektedir.

Proje Gezgini

Proje Gezgini, çalışmakta olduğunuz Projenin nasıl organize edildiğini görmenizi sağlar. Projede kaç tane modül ve form saklandığını görebilir, bu modüller ve formlar arasında gezinebilirsiniz. Modül, çalışma kitabınızdaki kodun depolandığı yerdir, bir makro kaydettiğinizde standart bir modülde depolanır - varsayılan olarak ' olarak adlandırılır.Modül1'.

Excel dosyanızdaki çalışma sayfalarının her biri, çalışma kitabının kendisinde olduğu gibi arkasında modüle sahiptir. Ana Excel ekranı aracılığıyla çalışma kitabına yeni bir sayfa eklediğinizde, Proje Gezgini'nde ek bir sayfa modülünün göründüğünü göreceksiniz.

Bir modülün koduna geçmek için bir modüle çift tıklayın.

Ayrıca araç çubuğundaki Pencere menüsüne tıklayabilir ve o modülün koduna gitmek için oradaki modülü seçebilirsiniz.

Modül Tipi

Modüller 5 farklı tipte düzenlenmiştir.

  1. Standart modüller - kodunuzun çoğu bu tür bir modüle girecek. Bir makro kaydettiğinizde, standart bir modüle konur. Çalışma kitabınız boyunca kullanılacak genel bir prosedür yazdığınızda, normal olarak standart bir modüle de girer.
  2. Çalışma kitabı modülleri - bu modül, o bireysel çalışma kitabına özgü kodu tutar. Bu tip modüllerdeki kodların çoğu şu şekilde bilinir: ETKİNLİKLER. Örneğin bir çalışma kitabı açıldığında veya kapatıldığında bir olay meydana gelebilir. Modül, sizin tarafınızdan yazılan ve olaylar tarafından kullanılan kodu da içerebilir.
  3. Sac modülleri - bu modül, o bireysel sayfaya özgü kodu tutar. Örneğin bir sayfaya tıklandığında meydana gelebilirler ( Etkinliğe tıklayın) veya bir hücredeki verileri değiştirdiğinizde. Bu modül aynı zamanda sizin tarafınızdan yazılan ve Eventler tarafından çağrılan kodu da tutabilir.
  4. Form modülleri - bu, oluşturabileceğiniz özel bir formun arkasındaki modüldür. Örneğin, bir faturanın ayrıntılarını tutmak için bir form oluşturabilirsiniz, Tamam düğmesiyle, düğmenin arkasındaki kod (Tıklama Etkinliği), düğmeye tıklandığında çalışacak kodu içerir.
  5. sınıf modülleri - bu modül, çalışma zamanında nesneler oluşturmak için kullanılır. Sınıf modülü, Gelişmiş VBA programcıları tarafından kullanılır ve daha sonraki bir aşamada ele alınacaktır.

Kodunuza bir modül veya form ekleme

Kodunuza yeni bir modül eklemek için Sokmak menü çubuğundaki seçeneğini tıklayın ve Modül.

Veya, üzerine tıklayın Modül Ekle standart şeritte bulacağınız düğme.

Kodunuza yeni bir kullanıcı formu eklemek için Kullanıcı Formu seçenek.

Yeni bir kullanıcı formu görünecektir. Proje Gezgini ve sağdaki Kod Penceresinde gösterilecektir.

Ayrıca bir Sınıf Modülü

VBA projenize nesneler eklemek için bir sınıf modülü kullanılır.

Bir Modülü veya Formu Proje Gezgini'nden Kaldırma

Sağ tıklama kısayol menüsünü göstermek için kaldırmak istediğiniz modül veya forma sağ tıklayın.

Tıklamak Kaldırmak (bu durumda KullanıcıForm1… )

VEYA

Tıkla Dosya menüsünü seçin ve ardından Kaldır (UserForm1).

Formu veya modülü kaldırmadan önce dışarı aktarmak isteyip istemediğinizi soran bir uyarı kutusu görünecektir. Formu veya modülü dışa aktarmak, başka bir zamanda farklı bir Excel projesinde kullanmak üzere tek bir dosya olarak kaydetmenize olanak tanır.

Çoğu zaman, bir modülü çıkardığınızda veya oluşturduğunuzda, bunun nedeni ihtiyacınız olmamasıdır, bu nedenle Hayır'ı tıklayın.

Özellikler Penceresi

Aşağıdaki özellikler penceresini göreceksiniz. Proje Gezgini. Bunu açmanız gerekebilir.

basmak F4 veya tıklayın görüş, Özellikler Penceresi.

Özellikler penceresi, menüde seçilen belirli modül veya formun özelliklerini görmenizi sağlar. Proje Gezgini. Modüllerde çalışırken, modülün adını değiştirmek için özellikler penceresini kullanabilirsiniz. Bu, bir modül için kullanılabilen tek özelliktir. Ancak, formlarla çalışırken, çok daha fazla özellik mevcut olacaktır ve Özellikler penceresi, formların davranışını ve formda bulunan kontrolleri kontrol etmek için yaygın olarak kullanılır.

Bir makro kaydettiğinizde, otomatik olarak standart bir modüle yerleştirilir. Modülün adı 'Modül1' ve bu modülde bulunan herhangi bir kod projeniz boyunca kullanılabilir. Modülünüzü, projeye birden fazla modül eklerseniz kodunuzu bulmayı kolaylaştıracak önemli bir şeyle yeniden adlandırmalısınız.

Ayrıca formlarınızı yeniden adlandırabilirsiniz.

Excel'de sayfanızı yeniden adlandırdıysanız, sayfanın adı, Sayfa1'den sonra parantez içinde sayfanın adı olarak görünecektir.

Sayfanın arkasındaki modülün adını değiştirmek isterseniz, bunu, modül ve kullanıcı formu adını değiştirdiğiniz gibi değiştirebilirsiniz - Özellikler Penceresindeki Ad özelliğini değiştirerek.

VBA Kodu Örnekleri Aramaktan Bıktınız mı? AutoMacro'yu deneyin!

Kod Penceresi

Kod penceresi, modüllerinizde bulunan alt prosedürleri ve işlevleri gösterir - size gerçek kodu gösterir. Bir makro kaydettiğinizde, sizin için bir alt prosedür oluşturulacaktır. Makroya bir kısayol tuşu eklerseniz, makroya atadığınız kısayol tuşunun ne olduğunu size bildirmek için makroda bir açıklama olarak görünür.

Kod penceresinin en üstünde iki birleşik giriş kutusu bulunur. Bunlar, Modül içinde hangi nesne (varsa) üzerinde çalışıyor olabileceğinizi ve hangi Prosedür üzerinde çalışıyor olabileceğinizi görmenizi sağlar.

Yukarıdaki örnekte herhangi bir nesne üzerinde çalışmıyoruz - bu nedenle bu genel olarak ayarlanmıştır, ancak Kılavuz Çizgileri prosedürü içinde çalışıyoruz.

Bu modülde birden fazla prosedürümüz olsaydı, diğer prosedürlere gitmek için yukarıdaki birleşik giriş kutusunu kullanabilirdik.

Kodu Anlamak

2 tür prosedür vardır - Alt prosedürler ve Fonksiyon prosedürleri.

Alt Prosedürler

Makro kaydedici yalnızca Alt prosedürleri kaydedebilir. Bir Alt prosedür işleri yapar. Bir tabloyu biçimlendirme veya bir pivot tablo oluşturma veya kılavuz çizgisi örneğinde etkin pencerenizin görünüm ayarlarını değiştirme gibi eylemleri gerçekleştirirler. Yazılan prosedürlerin çoğu Alt prosedürlerdir. Tüm makrolar Alt prosedürlerdir.

Bir alt prosedür bir ile başlar Alt ifadesi ve bir ile biter Alt Bitiş Beyan. Prosedür adını her zaman parantezler takip eder.

123 Alt HideGridLines()ActiveWindow.DisplayGridlines = YanlışAlt Bitiş

Fonksiyon Prosedürleri

Bir İşlev prosedürü bir değer döndürür. Bu değer tek bir değer, bir dizi, bir hücre aralığı veya bir nesne olabilir. İşlevler genellikle bir tür hesaplama gerçekleştirir. Excel'deki işlevler, İşlev Sihirbazı ile kullanılabilir veya Alt Yordamlardan çağrılabilir.

123 Fonksiyon Kilosu(Çift pound)Kilo = (pound/2.2)Bitiş İşlevi

Bu işlev, Pound'u Kilogram'a dönüştürmek için Excel'deki İşlev Ekle iletişim kutusunda kullanılabilir.

Yeni bir Prosedür Oluşturma

Yeni prosedürünüzü oluşturmadan önce, prosedürü saklamak istediğiniz modülde olduğunuzdan emin olun. Ekle menüsüne, Prosedür'e tıklayarak yeni bir prosedür oluşturabilirsiniz;

veya araç çubuğundaki simgeye tıklayabilirsiniz

Aşağıdaki iletişim kutusu görünecektir

  1. Ad kutusuna yeni prosedürünüzün adını yazın - bu, alfabenin bir harfiyle başlamalı ve harf ve sayı içerebilir ve maksimum 64 karakter olabilir.
  2. bir alt prosedür, a fonksiyon prosedürü veya bir Mülk prosedür. (Özellikler, Sınıf modüllerinde kullanılır ve oluşturmuş olabileceğiniz ActiveX denetimlerinin özelliklerini ayarlar).
  3. Prosedürün kapsamını da yapabilirsiniz. Halk veya Özel. Prosedür public (varsayılan) ise projedeki tüm modüller tarafından kullanılabilirken prosedür özel ise sadece bu modül tarafından kullanılabilir.
  4. Bu prosedürde yerel değişkenleri Statik olarak bildirebilirsiniz (bu, değişkenin Kapsamı ile ilgilidir ve bir yerel prosedür seviyesi değişkenini tüm modül için genel hale getirir). Bu seçeneği kullanmayacağız.

İlgili tüm detayları doldurduğunuzda, üzerine tıklayın. Tamam.

Daha sonra Sub ve End Sub deyimleri arasına kodunuzu yazın.

ALTERNATİF OLARAK - Modülünüzdeki Sub ve End Sub deyimlerini tam olarak yukarıda göründüğü gibi yazabilirsiniz. Sub kelimesinin önüne Public kelimesini koymanıza gerek yoktur - bu kelime atlanırsa, modüldeki tüm prosedürler otomatik olarak Public olarak kabul edilir.

sonra yazarsın Alt ve ardından parantez ile takip ettiğiniz prosedürün adı.

yani:

1 alt test()

NS Alt Bitiş ifadesi otomatik olarak görünecektir.

VBA Programlama | Code Generator sizin için çalışıyor!

Anlaşılması ve gezinmesi kolay Kod Yazma

Yorum Ekleme

Kodun işlevselliğini daha sonraki bir aşamada kendinize hatırlatmak için kodunuza yorum ekleme alışkanlığı edinin.

Kodunuza bir yorum ekleyebilir, ancak klavyede bir kesme işareti yazabilir veya Düzenle araç çubuğunu açıp o araç çubuğunda görünen yorum düğmesini kullanabilirsiniz.

Araç çubuklarına sağ tıklayın.

Seçme Düzenlemek.

Kodunuza bir yorum eklemek için yorum düğmesine tıklayın.

NOT: Yorum engelleme düğmesini genellikle yalnızca yorum yapmak istediğiniz (ve silmek istemediğiniz) birkaç satır kodunuz olduğunda kullanırsınız. Tek bir yorumun kesme işareti kullanması daha kolaydır.

girinti

Girmek için iyi bir alışkanlık, kodunuzu girintileyerek kodun okunmasını ve kodun farklı bölümlerini görmeyi kolaylaştırmaktır.

Kodunuzun mantığına bağlı olarak birçok girinti düzeyi olabilir.

UpperCase vs LowerCase

VBA, tüm kodu Uygun Büyük Harf olarak ayarlar, bu nedenle TÜMÜNÜ BÜYÜK HARF veya tümünü küçük harfle yazarsanız, Kodunuzu Doğru Harfte Olacak şekilde Yeniden Ayarlayacaktır!

VBA Programlama | Code Generator sizin için çalışıyor!

Otomatik Tamamlama

Kodunuzu ayarladığınızda, VBA'nın yazabileceğiniz kodu önererek size yardımcı olmaya çalıştığını fark edeceksiniz. Bu, Otomatik Tamamlama olarak bilinir.

Hata yakalama ve Hata Ayıklama

VBA kodu yazarken oluşabilecek 4 tür hata vardır - Sözdizimi hataları, Derleme hataları, Çalışma Zamanı hataları ve Mantıksal Hatalar.

Sözdizimi hataları

Bunlar, kodu yanlış yazdığınızda ortaya çıkar. Bu, Sözdizimi denetimi seçeneğinin açılmasıyla VBA tarafından büyük ölçüde önlenir. Bu normalde varsayılan olarak açıktır, ancak kapalıysanız, şuraya giderek açın: Aletler, Seçenekler ve tıklayın Otomatik Sözdizimi Kontrolü.

Kodu yanlış yazarsanız (örneğin kodda olması gereken bir şey hariç), kodu yazarken size kodu değiştirme fırsatı veren bir mesaj kutusu açılır.

Derleme Hataları

Bunlar, kodun çalışmasını engelleyen kodda bir şey eksik olduğunda ortaya çıkar. Kodu yazarken hata gelmiyor fakat kodu çalıştırmayı denediğinizde ortaya çıkıyor.

VBA Programlama | Code Generator sizin için çalışıyor!

Çalışma Zamanı Hataları

Bunlar, kodu çalıştırdığınızda ve sözdizimi ve derleme doğru olduğunda meydana gelir, ancak kodun doğru çalışmasını engelleyen başka bir şey olur.

Bu durumda, Sheet4 mevcut değildir. Bu hata mesajı, size kodda Hata Ayıklama ve neden çalışmadığını görme fırsatı verdiği için derleme hata mesajlarından daha kullanışlıdır.

Tıklamak hata ayıklama. Kod hatada duracak ve hatayı sarı renkle vurgulayarak hatanızı düzeltmenizi sağlayacaktır.

Sayfa4'ü Sayfa2'ye değiştirin (Sayfa 2 var ve Sayfa 4 yok).

basmak F5 veya üzerine tıklayın Devam et araç çubuğundaki düğmesine basın.

Mantıksal Hatalar

Bunlar bulunması en zor olanlardır. Bu durumda, kod doğru yazılmıştır ancak kodun gerçek mantığı kusurludur, bu nedenle koddan istediğiniz sonucu alamayabilirsiniz. Mantıksal hatalar için hata yakalama esastır.

2 tür hata tuzağı vardır

Hatada Git

Aşağıdaki kod Dosya Aç İletişim kutusunu açmak içindir - kullanıcı tıkladığında bize bir hata verecektir. İptal.

Kodu çalıştırdığınızda, Dosya Aç iletişim kutusu görüntülenir.

Daha sonra iptal'i tıkladığınızda, hata oluşacaktır.

Aşağıdaki Hata tuzağı, kodun Çıkış İşlevine devam edecek ve mesaj döndürecektir.

Bu, işlevden çıkmak için On Error GoTo'yu kullanır.

Kodu çalıştırdığınızda ve iptal'i tıkladığınızda, mesaj kutusu görünecektir.

Hatada Devam Et Sonraki

eğer koyarsan Hatada Devam Et Sonraki Kodunuzdaki ifade, hatayı içeren satır yok sayılacak ve kod devam edecektir.

Örneğin, kullanıcı aşağıdaki kodda İptal'i tıklarsa, kod size çalışma zamanı hatası vermez, kod başka bir şey yapmadan sona erer.

Bunun çok yararlı olduğu zamanlar vardır, ancak bazı durumlarda neden bir hata aldığınıza dair bir mesaj döndürmediği için çok tehlikeli olabilir.

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave