VBA With / End With Statement

Bu makale VBA'da With ve End With'in nasıl kullanılacağını gösterecek

Excel bize makroları kaydederek VBA öğrenme fırsatı sunuyor. Bu makrolar, ekranda yaptığımız her şeyi tam anlamıyla kaydeder ve eylemleri VBA koduna dönüştürür. Daha sonra bu kodu analiz edebilir ve ondan öğrenebiliriz.

VBA'da bir makro kaydettiğimizde, en önemlisi, hücrelerin biçimini değiştirirken, makro, kaydında With… End With Sözdizimini kullanmamaktan daha sık olacaktır. Bunların ne anlama geldiğini ve ne için kullanıldığını anlamak, VBA'nın önemli bir parçasıdır.

Makro Kaydetme

Excel'de bir makro kaydetmek için, Kurdele, Seçme Görünüm > Makro > Makro Kaydet.

VEYA

Geliştirici > Makro Kaydet

Not: Geliştirici Şeridi'ni görmüyorsanız, etkinleştirmeniz gerekir. Bunu nasıl yapacağınızı öğrenmek için BURAYA tıklayın.

Makronun adını yazın ve Tamam'a tıklayın.

Bazı hücreleri vurgulayın ve ardından Kalın olarak biçimlendirin, rengi kırmızıya çevirin ve yazı tipi boyutunu değiştirin. Ardından makro kaydını durdurmak için ekranın sol alt köşesindeki Durdur'a tıklayın.

İLE İfade Sözdizimi

Kaydedilmiş Makronuzu görüntülemek / düzenlemek için: Şeritte Görünüm > Makrolar > Makroları Görüntüle. Az önce kaydedilen makroyu seçin ve ardından Düzenlemek.

VEYA

Şeritte, seçin Geliştirici > Visual Basic VBE Penceresine geçmek için.

Kaydedilen makro aşağıdaki örneğe benzeyebilir

123456789 Alt IleMacro()Aralık("A2:C10").SeçSelection.Font.Bold = DoğruSelection.Font.Size = 12Selection.Font ile.Renk = -16776961.TintAndShade = 0İle bitmekAlt Bitiş

İlk olarak A2:C10 aralığını seçtik.

Daha sonra kalın olanı true ve yazı tipi boyutunu 12 olarak belirledik. Bu satırlar için “Selection.Font” kodunun tekrarlandığını unutmayın.

Makro daha sonra metnin rengini değiştirmemizi kaydetti - bu sefer Selection.Font'un bir İLE BİRLİKTE önünde ve değiştirilmekte olan 2 özelliğin (renk ve ten rengi) önünde nokta (.) vardır. Kod alanı daha sonra bir İLE BİTMEK.

Bu kodu basitleştirmek için, Bold ve Size'ı WITH deyimi içinde olacak şekilde hareket ettirebiliriz ve bu nedenle Selection kelimesini tekrarlama ihtiyacını ortadan kaldırabiliriz.

123456789 Alt IleMacro()Aralık("A2:C10").SeçSelection.Font ile.Kalın = Doğru.Boyut = 12.Renk = -16776961.TintAndShade = 0İle bitmekAlt Bitiş

Bir WITH… END WITH ifadesinin sözdizimi bu nedenle çok basittir:

123 İLE nesne'biçimlendirilecek/değiştirilecek özelliklerİLE BİTMEK

Kodu farklı bir şekilde değiştirebilirdik:

1234567 Alt RemoveWith()Aralık("A2:C10").SeçSelection.Font.Bold = DoğruSelection.Font.Size = 12Selection.Font.Color = -16776961Selection.Font.TintAndShade = 0Alt Bitiş

Yukarıdaki örnekte, kodun her satırına Selection.Font kelimelerini ekledik. Bu nedenle, koddaki Selection.Font Nesnesine tekrar tekrar başvurduk.

Bununla birlikte, WITH ifadesinin kullanılması, kodda bu Nesneye yalnızca bir kez başvurmamız gerektiği anlamına gelir. Bu, kodlamanın daha temiz bir yoludur - VBA'ya İLE ile başlamasını ve İLE SON ile sona ermesini söyler - çalıştırılacak kodun tamamı bu 2 kelimenin içine alınır. Makronun daha hızlı ve verimli çalışmasını sağlar (özellikle daha uzun makrolar için) ve kodunuza yapı ekler.

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

wave wave wave wave wave