Excel VBA'da Hata İşleme - Kolay Excel Makroları

İçindekiler

Aşağıda iki programa bakacağız. Excel VBA'sı. Bir program basitçe hataları yok sayar. diğer program belirtilen bir satırda yürütmeye devam eder bir hataya çarptıktan sonra.

Durum:

Her iki program da sayıların karekökünü hesaplar.

Kare Kök 1

'Kare Kök 1' komut düğmesine aşağıdaki kod satırlarını ekleyin.

1. İlk olarak, iki Range nesnesi tanımlıyoruz. Range nesnelerini rng ve hücre olarak adlandırırız.

Aralık Olarak Karart, Aralık Olarak Hücre

2. Range nesnesini seçilen aralıkla başlatıyoruz.

Set rng = Seçim

3. Rastgele seçilen bir aralıktaki her hücrenin karekökünü hesaplamak istiyoruz (bu aralık herhangi bir boyutta olabilir). Excel VBA'da bunun için For Her Sonraki döngüsünü kullanabilirsiniz. Aşağıdaki kod satırlarını ekleyin:

Her hücre için rng'de
Sonraki hücre

Not: rng ve hücre burada rastgele seçilmiştir, herhangi bir isim kullanabilirsiniz. Kodunuzun geri kalanında bu adlara başvurmayı unutmayın.

4. Aşağıdaki kod satırını döngüye ekleyin.

Hatada Devam Et Sonraki

5. Ardından, bir değerin karekökünü hesaplıyoruz. Excel VBA'da bunun için Sqr işlevini kullanabiliriz. Aşağıdaki kod satırını döngüye ekleyin.

cell.Value = Sqr(hücre.Değer)

6. Visual Basic Düzenleyicisi'nden çıkın ve programı test edin.

Sonuç:

Sonuç: Excel VBA, negatif sayılar ve metin gibi geçersiz değerler içeren hücreleri yok saymıştır. 'On Error Resume Next' ifadesini kullanmadan iki hata alırsınız. Hataları yok saymanın doğru olduğundan emin olduğunuzda, yalnızca 'On Error Resume Next' ifadesini kullanmaya dikkat edin.

Kare Kök 2

'Kare Kök 2' komut düğmesine aşağıdaki kod satırlarını ekleyin.

1. Kare Kök 1 ile aynı program ancak 'On Error Resume Next'i şununla değiştirin:

GoTo InvalidValue Hatasında:

Not: Burada InvalidValue rastgele seçilmiştir, herhangi bir isim kullanabilirsiniz. Kodunuzun geri kalanında bu isme başvurmayı unutmayın.

2. For Her Sonraki döngüsünün dışında, önce aşağıdaki kod satırını ekleyin:

Alt Çıkış

Bu satır olmadan, hata olmasa bile kodun geri kalanı (hata kodu) yürütülür!

3. Excel VBA, bir hata oluştuğunda 'InvalidValue:' ile başlayan satırda yürütmeye devam eder (iki nokta üst üste işaretini unutmayın). Aşağıdaki kod satırını ekleyin:

Geçersiz değer:

4. Şimdilik hata kodumuzu basit tutuyoruz. Bazı metinleri ve hatanın oluştuğu hücrenin adresini içeren bir MsgBox görüntüleriz.

MsgBox "hücrede karekök hesaplanamıyor" & hücre.Adres

5. Excel VBA'ya hata kodunu yürüttükten sonra yürütmeye devam etmesini bildirmek için aşağıdaki satırı ekleyin.

Devam Et Sonraki

6. Visual Basic Düzenleyicisi'nden çıkın ve programı test edin.

Sonuç:

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

wave wave wave wave wave