Seçeneğin Açıkça Kullanılması Mantıklı Olduğunda - Excel İpuçları

İçindekiler

Görünüşe göre, Option Explicit'in VBA'da yararlı olmadığı konusundaki tartışmalı duruşum nedeniyle yıllar içinde bazı endişelere neden oldum. Geçenlerde Brezilya'da Excel Hafta Sonu'nda bir Skype oturumu yaptığımda bunu hatırladım. QUE için Excel VBA üzerine bir kitap yazdım. Bu kitap Brezilya pazarı için Portekizceye çevrildi. Görünüşe göre, 15 yıldır Brezilya'nın iyi insanlarına Excel VBA'yı öğrettim. Artık 15 yaşından büyük ve daha akıllı olduğuma göre, Option Explicit'i kullanmak için iyi nedenler olabileceğini kabul edeceğim.

Notre Dame'de programlama üzerine yoğun bir konsantrasyonla iş kursları aldım. Tuhaf koşullar altında, hem Mühendislik hem de İşletme okullarından ND'de bulunan her programlama kursunu aldım. Fortran, Pascal, Assembler ve COBOL'u öğrendim. Programlamayı sevdim. Bu programlama kursları GPA'mı kurtardı ve beni atılmaktan kurtardı. O günlerde hocalarımız bize programımızı planlamamız ve kodlamaya başlamadan önce akış şemalarını elle çizmemiz gerektiğini söylediler. Ben asiydim. Önce programı yazarım sonra işim bittikten sonra akış şemasını çizerdim.

Kariyerimin ilk 18 ayını COBOL programları yazarak geçirdim. Ama sonra Finans'a geçtim ve Finans ve Muhasebe'de on yıl çalıştım. Çoğunlukla muhasebe işi yapıyordum, ancak bir kod yazmam gerektiğinde, biraz kod yazacak kadar biliyordum.

Lotus 1-2-3'te makroları programladım ve 1995'te Excel'e geçtikten sonra VBA Makroları yazmaya başladım. O noktada hala isyankârdım: Değişkenlerimi önceden bildirmek, kodu yazmadan önce bir akış çizelgesi çizmeye çok benziyordu. Asla ileriyi planlayacak biri değilim. Dalın. Kodlamaya başlayın. Yol boyunca bir yerde yeni bir değişkene ihtiyacınız varsa, değişkeni oluşturmanız yeterlidir.

Ben bir asiydim, önce kodu yazıp daha sonra akış şemasını çiziyordum Değişkenleri ilan etmenin resmi programcılar için olduğunu savundum. Muhasebe alanında çalışıyorsanız ve sadece 20 satırlık kodu devre dışı bırakıyorsanız, değişkenlerinizi önceden bildirmek için hiçbir neden yoktur.

Bu konudaki duruşum beni diğer Excel uzmanlarıyla bazı dostane tartışmalara soktu. Jordan Goldmeier. Bob Phillips. Cristiano Galvão.

Öncelikle, her zaman Nesne Değişkenlerinizi bildirmenizi tavsiye ettim. Aşağıdaki kodda, WSD bir çalışma sayfası olarak bildirilir ve Set komutu kullanılarak atanır. Nesne değişkenini bildirirseniz, değişken ve ardından nokta yazarak tüm özelliklere ve yöntemlere göz atabilirsiniz.

Nesne değişkenlerinin bildirilmesi bu yararlı Otomatik Tamamlama'ya yol açar

Option Explicit'i kullanmayarak, yazım hatası riskini alırsınız. Aşağıdaki kodda FinalRow adlı bir değişken oluşturulmuştur. Bir sonraki satırda, muhtemelen 2'den FinalRow'a döngü yapmak istedim, ancak değişkeni Fina1Row olarak yanlış yazdım.

Yıllar önce, IBM Selectric yazarlar 1 anahtarını atladılar çünkü insanlar bunun yerine küçük harf L yazacaklardı.

Option Explicit olmadan, birisi yazım hatasının orada olduğunu fark etmeyebilir. FinalRow değişkeni 100 içerebilir. Ancak döngü içindeki kod, Fina1Row değişkeni hiçbir zaman başlatılmadığı ve sıfır içereceği için çalışmayacaktır.

Olası yazım hatalarıyla kod hata ayıklamasından kaynaklanan hayal kırıklığını önlemek için, VBA menüsünde Araçlar, Seçenekler'i açabilirsiniz. Aşağıda gösterilen Değişken Beyanı İste kutusunu seçin.

Yazım hatalarını yakalamak için bu kutuyu işaretleyin.

Gelecekteki tüm modüller Option Explicit yazan bir satırla başlayacaktır. Makronun üst kısmına FinalRow ve i değişkenlerini tanımlayan yeni satırlar eklemeniz gerekecektir. Siz makroyu gerçekten çalıştırmayı deneyene kadar, Excel size yazım hatasından bahsetmez. Sonra sizi Değişkenin Tanımlanmadığı konusunda uyaracaklar.

Vurgulanan kelime yanlış yazılmıştır.

Yani bu senin çağrın. Önceden planlamayı ve tüm değişkenlerinizi bildirmeyi düşünmüyorsanız, bir değişkeni yanlış yazıp yazmadığınızı size söyleyen VBA güvenlik ağına sahip olacaksınız. Benim için her seferinde bir satır kodda hata ayıklamanın ve yazım hatalarımı kendim bulmanın heyecanını tercih ederim. Ancak tehlikeli bir şekilde yaşamak istemiyorsanız, Option Explicit'i etkinleştirmekten çekinmeyin.

Eylemlerimin 12 adımdan 5., 8. veya 9. Adımları içerdiğinden emin değilim. Ancak, herhangi biri bir yazım hatası nedeniyle kodlarında hata ayıklamak için fazladan zaman harcadıysa, bu acıya neden olduğum için üzgünüm.

Her Cumartesi, kötü alışkanlıklarımdan birini Excel'de tartışacağım ve yaptığım şeyi yapmak yerine neden söylediklerimi yapmanız gerektiğini tartışacağım.

Excel Günün Düşüncesi

Excel Master arkadaşlarıma Excel hakkında tavsiyelerini sordum. Bugünün düşüncesi:

"Elektronik tablo geliştiricilerini scrum ortasında değiştirmeyin."

Ürdün Goldmeier

Ilginç makaleler...