Error verirse..

Katılım
13 Mayıs 2008
Mesajlar
141
Excel Vers. ve Dili
Microsoft Office Excel 2003
Merhaba arkadaslar,

Sirket kullanicilarina gönderecegim dosyam bircok modül, kod ve userformdan olusmaktadir. Bu dosyami kullanicilara göndermeden önce son birsey yapmak istiyorum. Olasi bir hataya karsi takilip kalmamalari icin;

X bir kullanici, hangi hatayla karsilasirsa karsilassin ve bu hangi kodda veya modülde olusursa olussun, o an hangi userform aciksa hata sonucunda o userform unload yapilsin istiyorum ki islemlerini yeniden deneyebilsin.

Ancak bu genel bir hata tanimi olmali programin geneline özgü. Yani "On Error Go To" olayini her modüle veya koda yazmaktansa program x bir hatayla karsilastigi an olay otomatikman gerceklessin.

Yardimlariniz icin simdiden tesekkürler..
 
Katılım
13 Mayıs 2008
Mesajlar
141
Excel Vers. ve Dili
Microsoft Office Excel 2003
Yukaridaki soruma 2 sey daha eklemek istiyorum.

1. si kodlara bir sart koymak istiyorum ama nasil yazilir bilmiyorum? Cünkü bir kac deneme yapmama ragmen "Compile Error" verdiginde makro orada takilip kaliyor. Yapmak istedigim aslinda;

Eger "Compile Error" verirse x modül calissin gibi birsey..

2. si de bir userformun veya atiyorum bir listbox'in ERROR diye bir kod bölümü var. Bu ne ise yarar tam cözemedim? Cünkü buraya olasi bir hataya karsi kod yazdim ama calismiyor.

Mesela

Private Sub ListBox1_Error(ByVal Number As Integer, ByVal Description As MSForms.ReturnString, ByVal SCode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, ByVal CancelDisplay As MSForms.ReturnBoolean)

Err.clear
Call XXXX


End sub

böyle birseyler yazdim ki o listbox'ta hata verince bu kod devreye girsin diye ama "Compile Error" verince kimseyi dinlemiyor hatanin oldugu yerde olay tikaniyor..

Ilk mesajimla birlikte bunlari da göz önünde bulundurursak genel olarak hatalara karsi nasil bir cözüm yolu bulabiliriz?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,599
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Bu şekilde error veren bir dosya eklermisiniz.
 
Katılım
13 Mayıs 2008
Mesajlar
141
Excel Vers. ve Dili
Microsoft Office Excel 2003
Örnek dosya ekledim..

Kod bölümü sifreli..(Sifre:123) Normalde dosya calisirken de sifreli olmali.."Kod bölümü sifreli olacagi icin kullanici hatanin nerede oldugunu göremeyecek.."

Userform'un LOAD butonunda bulunan kodlarda bir object'in ismini hata versin diye degistirdim.."Caption" >> "Captio"

Userform'da LOAD butonuna tiklayinca bu yüzden "Compile Error" hatasi veriyor..Iste o an istedigim seylerin gerceklesmesini bekliyorum.

Yani hata mesajini kapatinca veya "compile error" veya baska bir hata "run time error" vs..verdigi an Module1'deki "reload" fonksiyorunu otomatikman calissin istiyorum..

Ancak bunu "On Error Goto xxxxx" ile bütün local kodlara veya modüllere ayri ayri yazmaktansa merkezi bir kod ile nasil halledebiliriz? Hangi modülde veya kodda hata verirse versin hata birsekilde yok sayilmali..
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,599
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Sanırım genel bir hata prosedürü tanımlamak mümkün değil.

Ayrıca Compile Error mesajı almamak içinde hazırladığınız kodu yazmadan önce mesela modüle bir kod yazıyorsanız modülün en üst satırına Option Explicit yazarak önüne geçebilirsiniz. Bu komutu yazdığınızda mesela oluşturduğunuz kodda SATIR isimli bir değişken kullandınız. Eğer bunu kod başlangıcında Dim SATIR As Long şeklinde tanımlamazsanız kod hata mesajı verecektir. Bu şekilde VBA sizi kodu tamamlamaya zorlayacaktır.
 
Üst