Excel VBA Alt Programı: Örnekle VBA'da Sub Nasıl Çağrılır
⚡ Akıllı Özet
Excel VBA Alt Programları, değer döndürmeden bir görevi yerine getiren bir kod bloğunu gruplandırır. Bu sayfa, adlandırma kurallarını, Alt Program sözdizimini, bir komut düğmesinden Alt Programı çağırmayı ve bir Alt Programın bir Fonksiyondan nasıl farklı olduğunu ele almaktadır.
VBA'da Alt Program Nedir?
A VBA'da alt program kodda açıklanan belirli bir görevi gerçekleştiren ancak sonuç veya değer döndürmeyen bir kod parçasıdır. Alt programlar, büyük kod parçalarını yönetilebilir küçük parçalara ayırmak için kullanılır. Altprogramlar programın herhangi bir yerinden birden çok kez çağrılabilir.
Diyelim ki kullanıcı giriş verilerini kabul etmek için metin kutuları olan bir kullanıcı arayüzü oluşturdunuz. Metin kutularının içeriklerini temizleyen bir alt rutin oluşturabilirsiniz. Böyle bir senaryoda bir VBA Çağrı Alt Rutini uygundur çünkü herhangi bir sonuç döndürmek istemezsiniz.
Neden Alt Programlar kullanılmalı?
- Kodu yönetilebilir küçük kodlara bölün: Ortalama bir bilgisayar programının binlerce ve binlerce kaynak kod satırı vardır. Bu karmaşıklığa yol açar. Alt rutinler, programı küçük, yönetilebilir kod parçalarına bölerek bu sorunu çözmeye yardımcı olur.
- Code tekrar Kullanılabilirlik. Veritabanına erişmesi gereken bir programınız olduğunu varsayalım, programdaki pencerelerin neredeyse tamamının veritabanıyla etkileşime girmesi gerekecektir. Bu pencereler için ayrı kod yazmak yerine, tüm veritabanı etkileşimlerini işleyen bir fonksiyon yaratabilirsiniz. Daha sonra istediğiniz pencereden çağırabilirsiniz.
- Alt rutinler ve işlevler kendi kendini belgelemektedir. Diyelim ki, accountLoanInterest ve connectToDatabase diyen bir fonksiyonunuz var. Programcı sadece alt programın/fonksiyonun ismine bakarak programın ne yaptığını anlayabilecektir.
Derleyici, bir isim yazmadan önce, ismin kısa bir kurallar dizisine uymasını bekler.
Alt Programları ve Fonksiyonları Adlandırma Kuralları
Alt rutinleri ve işlevleri kullanmak için takip edilmesi gereken bir dizi kural vardır.
- Bir alt rutin veya VBA çağrı işlevi adı boşluk içeremez
- Excel VBA Çağrı Alt veya işlev adı bir harfle veya alt çizgiyle başlamalıdır. Bir sayı veya özel karakterle başlayamaz
- Bir alt program veya işlev adı anahtar kelime olamaz. Anahtar kelime, özel anlamı olan bir kelimedir. VBA. Özel, Alt, İşlev ve Son vb. kelimelerin tümü anahtar kelime örnekleridir. Derleyici bunları belirli görevler için kullanır.
Geçerli bir isim seçildikten sonra, bildirimin kendisi sabit bir kalıbı izler.
VBA Alt Yordam Sözdizimi
Bu örneği takip etmek için Excel'deki Geliştirici sekmesini etkinleştirmeniz gerekecektir. Geliştirici sekmesini nasıl etkinleştireceğinizi bilmiyorsanız şu adresteki öğreticiyi okuyun: Excel'de VBA Kontrolleri
BURAYA sözdiziminde,
Private Sub mySubRoutine(ByVal arg1 As String, ByVal arg2 As String) 'do something End Sub
Sözdizimi açıklaması
| Code | Action |
|---|---|
|
|
|
|
|
|
Aşağıdaki alt program ad ve soyadını alır ve bunları bir mesaj kutusunda görüntüler.
Şimdi bu Alt Prosedürü programlayıp yürüteceğiz. Şunu görelim.
VBA'da Sub Nasıl Çağrılır
Aşağıda VBA'da Sub'un nasıl çağrılacağına ilişkin adım adım bir süreç verilmiştir:
- Kullanıcı arayüzünü tasarlayın ve kullanıcı kontrollerinin özelliklerini ayarlayın.
- Alt programı ekleyin
- Alt yordamı çağıran komut düğmesi için tıklama olay kodunu yazın
- Uygulamayı test edin
) 1 Adım Kullanıcı Arayüzü
Kullanıcı arayüzünü aşağıdaki görüntüdeki gibi tasarlayın.
Aşağıdaki özellikleri ayarlayın. Ayarladığımız özellikler:
| S / N | Control | Varlığınızı | Özellik |
|---|---|---|---|
| 1 | KomutDüğmesi1 | İsim | btnGörüntüTam Ad |
| 2 | Başlık | Tam Ad Alt Program |
Arayüzünüz artık aşağıdaki gibi görünmelidir.
) 2 Adım Alt program ekle
- Kod penceresini açmak için Alt + F11 tuşlarına basın
- Aşağıdaki alt rutini ekleyin
Private Sub displayFullName(ByVal firstName As String, ByVal lastName As String) MsgBox firstName & " " & lastName End Sub
BURADA kodda,
| Code | İşlemler |
|---|---|
|
|
|
|
|
|
) 3 Adım Altprogramın çağrılması
Altprogramın komut düğmesi tıklama olayından çağrılması.
- Aşağıdaki resimde gösterildiği gibi komut düğmesine sağ tıklayın. "Görüntüle"yi seçin. Code.
- Kod düzenleyici açılacak
btnDisplayFullName komut düğmesinin tıklama olayı için kod düzenleyiciye aşağıdaki kodu ekleyin.
Private Sub btnDisplayFullName_Click() displayFullName "John", "Doe" End Sub
Kod pencereniz artık aşağıdaki gibi görünmelidir
Değişiklikleri kaydedin ve kod penceresini kapatın.
) 4 Adım Kodu test etme
Geliştirici araç çubuğunda tasarım modunu 'kapalı' duruma getirin. Aşağıda gösterildiği gibi.
) 5 Adım 'Tam Ad Alt Programı' komut düğmesine tıklayın.
Aşağıdaki sonuçları elde edeceksiniz
Bir düğme kullanışlıdır, ancak bir alt programı başlatmanın tek yolu değildir ve geliştirme sırasında nadiren en hızlı yöntemdir.
Düğme Kullanmadan Alt Program Nasıl Çalıştırılır
Hâlâ kod yazarken, bir alt programı test etmek için sayfaya bir kontrol eklemek zaman kaybıdır. VBA, bir alt programı çalıştırmak için dört farklı yol sunar ve her biri geliştirme döngüsünün farklı bir anına uygundur.
- Editörde F5 tuşuna basın: İmleci alt programın herhangi bir yerine yerleştirin ve F5 tuşuna basın. Program hemen çalışır. Bu yalnızca alt program hiçbir argüman almadığında işe yarar, çünkü VBA'nın sağlayacak hiçbir değeri yoktur.
- F8 tuşuyla ilerleyin: Aynı işlemi satır satır çalıştırın, böylece Yerel Değişkenler penceresinde her değişkenin nasıl değiştiğini izleyebilirsiniz. Sonuç yanlış olduğunda ve hatanın nerede olduğunu görmek istediğinizde kullanın.
- Makrolar iletişim kutusunu kullanın: Geliştirici sekmesinde, Makrolar'a tıklayın, bir isim seçin ve Çalıştır'a tıklayın. Bu listede yalnızca bağımsız değişken içermeyen Genel Alt Programlar görünür; bu nedenle yardımcı bir Alt Program genellikle Özel olarak tanımlanır.
- Başka bir alt programdan çağırın: Bu, argüman alan herhangi bir alt program için kullanılan yöntemdir ve yukarıdaki komut düğmesi de bu yönteme dayanmaktadır.
Son seçeneğin iki kabul edilen biçimi vardır. İsmi ardından yalın argümanları yazmak işe yarar, aynı şekilde açıkça Call anahtar kelimesini kullanmak da işe yarar, ancak parantez kuralı aralarında farklılık gösterir.
Sub RunTheGreeting() ' Form 1: no Call keyword, no brackets displayFullName "John", "Doe" ' Form 2: Call keyword, brackets required Call displayFullName("Jane", "Roe") End Sub
İki satır da tamamen aynı şeyi yapıyor. Köşeli parantezleri `Call` anahtar kelimesi olmadan yazarak iki formu karıştırmak, bir Sub birden fazla argüman aldığında "Expected: =" derleme hatasının en yaygın nedenidir.
VBA'da Sub ve Function Arasındaki Fark
VBA'da iki prosedür türü vardır: Sub ve Function. Yeni başlayanlar genellikle yanlış olanı seçerler. Karar verme sorusu basittir: Çağıran kodun bir değere ihtiyacı var mı?
| Özellik | Alt | İşlev |
|---|---|---|
| Bir değer döndürür | Yok hayır | Evet, fonksiyon adına atandı. |
| Bildirildi | Alt … Alt Alt | Fonksiyon … Fonksiyon Sonu |
| Olarak adlandırılan | Kendi satırında bir açıklama | Bir ifadenin bir parçası, örneğin x = myFunc(2) |
| Çalışma sayfası hücresinde kullanılabilir. | Yok hayır | Evet, kullanıcı tanımlı bir fonksiyon olarak. |
| Tipik kullanım | Sayfayı biçimlendir, giriş alanlarını temizle, mesaj göster | Toplam hesapla, değer dönüştür, veri ara |
Kod çalışma kitabına etki ediyorsa bir Sub kullanın ve VBA Fonksiyonu Kodun ürettiği bir yanıtın başka bir şey tarafından tüketilmesi.







