• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Kilitlenme

Katılım
17 Aralık 2008
Mesajlar
96
Excel Vers. ve Dili
excel 2010 türkçe
Merhabalar,
Formda geçmiş konuları incelediğimde kilitlenme konusunda sorular sorulmuş ama cevaplar tam alınamadığını görüyorum.
Benim sorum ise biraz daha farklı: 20 den fazla userform ve 20 den fazla module ve macro olan bir programda bazı makinalarda kilitlenme oluyor. Aradığım konu; , kilitlenmenin hangi modulde , hangi satırda olduğunu tespit edebilmek için herhangibir sistem kodu gibi birşey var mıdır acaba? Aksi takdirde, msgbox lar ile programın hangi noktaları geçtiğini tespit ederek bulmaya çalışmak gerekiyor. Hatırladığım kadarıyla, visual fortran da böyle bir şeyler olacak. Nerede takılıyor ve o anda değişkenlerin içinde hangi değerler bulunmaktadır gibi.
Desteğiniz için şimdiden teşekkürler.
 
VBE ekranındayken kodlarınızı satır satır F8 ile çalıştırabilirsiniz.

Bu şekilde hangi satırda hata verdiğini rahatlıkla bulabilirsiniz.
 
Teşekkürler Recep Bey , hızlı desteğiniz için.
Sıkıntım şu; benim programım benim makinamdan başka bir makinada başka bir kullanıcı kullanırken oluyor. Bende olmuyor.
VBE bilmeyen bir kişiye bunu yaptırmak mümkün değil. Bu nedenle, içeriye bir kod koyayım, ona göre hangi module hangi satırda olduğunu söylesin ve kullanıcı da bana söylesin istiyorum.
diğer taraftan, F8 ile step into yaptırmak için , hangi modulde olduğunu bilmem lazım. Büyük bir programda hangi module de olduğunu nasıl anlarım?
 
Hatanın hangi satırda oluştuğu bilgisini bulmak biraz zor olabilir.

Hatayı başka bilgisayarda veriyorsa büyük ihtimalle referans eksikliklerinde oluşur.

Bunun için diğer bilgisayarda VBE ekranında Referances menüsüne bakınız.Eğer burada başında "MISSING" hatası olan bir refarans var ise hata bundan kaynaklanmaktadır.
 
Örneğin şöyle bir olgu bir makinada kilitlenme yapıyor, başkasında yapmıyor:
Range("a3:f1000").Delete
Bunun yerine ;
Range("a3:f1000").Delete Shift:=xlUp
yazınca düzeliyor.
 
Doğrusuda 2. yazım şekli.Çünkü satırı silecekseniz ne yönde bir kayma olacağını belirtmeniz gerekiyor.

Yok sadece bu aralıktaki verileri silmek istiyorsanız Range("a3:f1000").ClearContents kodunu kullanabilirsiniz.
 
olayı anlıyorum, sadece bazı makinalarda kilitlenme yapmadığını belirtmeye örnek olarak veriyorum. Bunun office update yamaları ile ilgili olabileceğini düşünüyorum.
 
Geri
Üst