• Foruma hoş geldin 👋 Ziyaretçi

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Çözüldü Private Sub Worksheet Change

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

hakki83

Yeni Üye
Katılım
9 Ağu 2021
Mesajlar
767
Çözümler
3
Aldığı beğeni
224
Excel V
Office 2016 TR
Merhaba

Private Sub Worksheet Change olayında üç veya daha fazla farklı kod grubunu aynı sayfada sorunsuz, hata vermeden çalıştırmanın, bilinen standart bir yolu var mıdır?
 
Çözüm
tam olarak amacınız ne anlamadım ama end if hatası verdi bir yerlerde açtığınız if kapanmamış
kodları yazarken blokları ayırmak için her alt blok için tab ile daha içten başlarsanız yada satır azaltmak içim döngü bitimlerini bir önceki satırla birleştirmezseniz kodlar daha okunaklı olur
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da üye ol.
Rica ederim
İyi çalışmalar
 
tam olarak amacınız ne anlamadım ama end if hatası verdi bir yerlerde açtığınız if kapanmamış
kodları yazarken blokları ayırmak için her alt blok için tab ile daha içten başlarsanız yada satır azaltmak içim döngü bitimlerini bir önceki satırla birleştirmezseniz kodlar daha okunaklı olur
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da üye ol.
 
Çözüm
tam olarak amacınız ne anlamadım ama end if hatası verdi bir yerlerde açtığınız if kapanmamış
kodları yazarken blokları ayırmak için her alt blok için tab ile daha içten başlarsanız yada satır azaltmak içim döngü bitimlerini bir önceki satırla birleştirmezseniz kodlar daha okunaklı olur
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da üye ol.
Deneyeceğim hocam
 
ayrıca neden If Not Intersect(Target, Range("B2:N1000")) Is Nothing Then 2 defa alınmış, bir defa yeterli olurdu
 
tam olarak amacınız ne anlamadım ama end if hatası verdi bir yerlerde açtığınız if kapanmamış
kodları yazarken blokları ayırmak için her alt blok için tab ile daha içten başlarsanız yada satır azaltmak içim döngü bitimlerini bir önceki satırla birleştirmezseniz kodlar daha okunaklı olur
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da üye ol.
Haliliy hocam düzeldi
Çok sevindim :)
 
)) bir de eğer iç içe if kullanacaksanız her zaman if açar açmaz altına end if yazın
tab ile iç boşluk bırakıp 2. if geçin,......
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da üye ol.
böylece en baştan açılan kapandığı için daha az sorunla karşılaşırsınız
 
ayrıca neden If Not Intersect(Target, Range("B2:N1000")) Is Nothing Then 2 defa alınmış, bir defa yeterli olurdu
Hocam benim kod bilgim (yok denecek kadar az) çok az; kullanmak istediğim kodları birleştirmeye çalışıyorum, bazen karışıyor, içinden çıkamıyorum.

Bir tane daha var böyle hata veren, birazdan konu açacağım.

Teşekkür ederim size
 
rica ederim
iyi çalışmalar
kod doğru çalışıyorsa çözümü işaretleyin çözülmüşlere taşıyalım
 
Hocam A sütununda birkaç hücreyi seçip delete tuşuna basınca hata veriyor, bu düzeltilebilir mi?
 

Ekli dosyalar

çoklu ekleme silme değiştirme gibi işlemlerde hatayı önlemek için ayrı bir range tanımlayıp targetı oraya atayabilirsiniz sonrada o range içindeki her hücre ayrı ayrı işleme tâbi tutulabilir
Not : Application.EnableEvents = False kodu nedeniyle eğer işlem yarıda kesilmişse yani hata verip çıkılmışsa, yanılmıyorsam dosya tekrar açılana kadar eğer siz özel olarak Application.EnableEvents = True kodunu çalıştırmamışsanız hücre değişim olaylarına tepki vermez o nedenle o kodu dikkatli kullanmanızı öneririm
dilerim işe yarar sorun çıkarmadı çoklu silmede ama toplu olarak kayıt eklemeye çalışıldığında mükerrer kayıtta sorun çıkarabilir
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da üye ol.
 
Son düzenleme:
Hocam
Application.EnableEvents = True
Bu bahsettiğiniz kodu eklememiz gerekiyor mu? (İlerde hata çıkartmasın diye)
 
Application.EnableEvents = false kullanılmışsa işlem bittiğinde tekrar aktifleştirmek için Application.EnableEvents = True tekrar konulmalı
ama false olan yoksa diğerine de gerek yok kanımca
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst