İçindekiler:
- Kodunuzu incelerken
- MsgBox işlevini kullanma
- Hata Ayıklama Ekleme. Baskı ifadeleri
- VBA hata ayıklayıcıyı kullanma
Video: Excel'de İki listeyi satır satır ve liste şeklinde karşılaştırma- 299.video | Ömer BAĞCI 2024
kullanarak … VBA kodunuzla bazı sorunlarla karşılaşabilirsiniz, ancak sorunu nasıl buluyorsunuz? Bazen VBA kodunuzun hata ayıklamaya ihtiyacı olabilir. Excel VBA kodunu hata ayıklama için dört en yaygın yöntemi keşfetmek için okumaya devam edin:
-
Kod muayene
-
Kodunuzdaki çeşitli noktalardaki MsgBox işlevlerini ekleme
-
Hata Ayıklama Ekleme. Baskı ifadeleri
-
Excel yerleşik hata ayıklama araçlarını kullanma
Kodunuzu incelerken
Belki de en basit hata ayıklama tekniği, sorunu bulup bulup bulamayacağınızı görmek için kodunuzu yakından incelemektir. Bu yöntem elbette bilgi ve tecrübe gerektirir. Başka bir deyişle, ne yaptığınızı bilmek zorundasınız. Şansın varsa, hata doğru atlar ve alnına tokat atıp "D'ah! "Alın ağrısı azaldığında, sorunu çözebilirsiniz.
"Şanslı iseniz," sözlerinin kullanılmasına dikkat edin. "Bunun nedeni, programınızda sekiz saat çalıştıkça hataları sıklıkla keşfedebilmenizdir. m. ve siz kafein ve irade üzerinde koşmaktasınız. Bazen öyle, şifrelerini bile görebiliyorsan, hataları bulmamıza izin verin, şanslısın. Bu nedenle, kodunuzu basitçe incelemek, içerdiği tüm hataları bulup silmek için yeterli değilse şaşırmayın.
MsgBox işlevini kullanma
Birçok programda sık karşılaşılan bir problem, beklediğiniz değerleri almayan bir veya daha fazla değişkeni içerir. Bu gibi durumlarda, kodunuz çalışırken değişken (ler) i izlemek yararlı bir hata ayıklama tekniğidir. Bunu yapmak için bir yol, geçici MsgBox işlevlerini rutininize eklemektir. Örneğin, CellCount adlı bir değişkeni varsa, aşağıdaki deyimi ekleyebilirsiniz:
MsgBox CellCount
Rasgele yürüttüğünüzde, MsgBox işlevi CellCount değerini görüntüler.
Mesaj kutusuna iki veya daha fazla değişkenin değerlerini görüntülemek genellikle yararlıdır. Aşağıdaki deyim, iki değişkenin geçerli değerini görüntüler: Bir boşlukla ayrılmış LoopIndex (1) ve CellCount (72).
MsgBox LoopIndex & "" & CellCount
İki değişkenin birleştirme işleci (&) ile birleştirildiğini ve aralarında bir boşluk karakteri bulunduğuna dikkat edin. Aksi takdirde, ileti kutusu iki değeri birbirine bağlar ve böylece onları tek bir değere benzetir. Ayrıca yerleşik sabiti, vbNewLine'yi boşluk karakterinin yerine kullanabilirsiniz. vbNewLine, metni yeni bir satırda görüntüleyen satır besleme kesmesi ekler. Aşağıdaki ifade üç değişkeni ayrı bir satırda görüntüler:
Üç değişkenin değerini görüntülemek için bir ileti kutusu kullanma.MsgBox LoopIndex & vbNewLine & CellCount & vbNewLine & MyVal
Bu teknik, değişkenleri izleme ile sınırlı değildir. Kodunuz çalışıyorken her türlü yararlı bilgiyi görüntülemek için bir ileti kutusu kullanabilirsiniz. Örneğin, kodunuz bir dizi sayfa boyunca döngüyse, aşağıdaki deyim etkin sayfanın adını ve türünü görüntüler:
MsgBox ActiveSheet. Mesaj Kutusu beklenmedik bir şey gösteriyorsa, Ctrl + Break tuşlarına basın ve kod yürütülmesine müdahale ettiğini belirten bir iletişim kutusu görürsünüz, dört seçeneğiniz vardır:
Kullanıcı adı ve tip adı (ActiveSheet)
-
Devam düğmesi. Kod yürütmeye devam ediyor.
-
Sonlandır düğmesine tıklayın. Yürütme durdurulur.
-
Hata Ayıkla düğmesini tıklayın. VBE hata ayıklama moduna girer.
-
Yardım düğmesini tıklayın. Bir yardım ekranı, Ctrl + Break tuşlarına bastığınızı bildirir. Başka bir deyişle, çok yararlı değil.
Ctrl + Break'a basmak kodunuzun yürütülmesini durdurur ve size bazı seçenekler sunar.
Klavyenizde Break tuşu yoksa, Ctrl + ScrollLock tuşlarına basmayı deneyin.
Kodunuzu hata ayıkladığınızda MsgBox işlevlerini kullanmakta özgürsünüz. Sorunu tanımladıktan ve düzelttikten sonra bunları kaldırdığınızdan emin olun.
Hata Ayıklama Ekleme. Baskı ifadeleri
Kodunuzdaki MsgBox işlevlerinin kullanılmasına alternatif olarak, bir veya daha fazla geçici Hata Ayıklama Ekleyicisi ekleyebilirsiniz. Baskı ifadeleri. Hemen penceredeki bir veya daha fazla değişkenin değerini yazdırmak için bu ifadeleri kullanın. Üç değişkenin değerlerini görüntüleyen bir örnek:
Hata Ayıklama. Print LoopIndex, CellCount, MyVal
Değişkenlerin virgüllerle ayrıldığına dikkat edin. Tek bir hata ayıklama ile istediğiniz kadar değişken görüntüleyebilirsiniz. Baskı ifadesi.
Hata Ayıklama. Baskı, çıkış penceresi gizli olsa bile Anında pencereye çıktı gönderir. VBE'nin Anlık penceresi görünmüyorsa, Ctrl + G tuşlarına basın (veya Görünüm → Hemen Penceresi'ni seçin). Hemen pencerede bazı çıktılar var.
Bir Hata Ayıklama. Print deyimi Anlık pencereye çıktı gönderir.MsgBox'dan farklı olarak Debug. Baskı ifadeleri kodunuzu durdurmaz. Bu yüzden, neler olup bittiğini görmek için Anlık pencereye göz kulak olmanız gerekiyor.
Kodunuzu hata ayıkladıktan sonra, tüm Hata Ayıkla'sını kaldırdığınızdan emin olun. Baskı ifadeleri. Hatta Microsoft gibi büyük şirketler bile bazen Hata Ayıkla'sını kaldırmayı unutuyorlar. Baskı ifadeleri. Excel'in önceki birkaç sürümünde, Analiz Araç Çubuğu eklentisi her açıldığında, Hemen penceresinde birçok garip ileti görürsünüz. Bu sorun nihayet Excel 2007'de giderildi.
VBA hata ayıklayıcıyı kullanma
Excel tasarımcıları böcek kavramını yakından takip ediyorlar. Sonuç olarak, Excel, VBA kodunuzdaki sorunları düzeltmenize yardımcı olabilecek bir hata ayıklama araçları seti içerir.