• DİKKAT !

    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 Dosya Yükleme tamamen ücretsizdir.

Çözüldü Her Bölüm için Tek Msgbox Gelmesi

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.

Erdogan34

Yeni Üye
Katılım
3 Eki 2022
Mesajlar
85
Çözümler
1
Aldığı beğeni
23
Excel V
Office 2013 TR
Konu Sahibi
Merhabalar,

Bir tablodan başka bir tabloya veri yazılan vba kodunda bi tarihte bulunan aralıklara 50 personel ya da 10 yöneticiden fazla kişi sayısı eklenmesi durumunda uyaracak ama yazmaya devam edecek şekilde ayarlandı. Ancak bu ayarlama o bölüme her yazdığı satırda tekrar tekrar karşıma çıkıyor. Yapmak istediğim her gün aralığı için tek bir uyarı Msgbox gelmesini sağlamak. Yani 50'yi geçtikten sonra yazılan her satırda değilde belirlenen aralığa yazma işlemi bittikten sonra 50 yi geçmişse uyarması gibi.

Desteğinizi rica ediyorum.

Saygılarımla
 
Merhaba, E6 hücresi için örnek.

On Error Resume Next satırının üzerine Dim kontrolE As Byte tanımlama satırını ekleyiniz.

E6 için olan bu satırları aşağıda paylaştığım satırlar ile değiştiriniz.
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.

Yeni kodlar.
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.

Diğer bölümler için de yeni kontrol tanımı yapıp, örneğe göre güncelleyiniz.
 
Konu Sahibi
Merhaba, E6 hücresi için örnek.

On Error Resume Next satırının üzerine Dim kontrolE As Byte tanımlama satırını ekleyiniz.

E6 için olan bu satırları aşağıda paylaştığım satırlar ile değiştiriniz.
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.

Yeni kodlar.
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.

Diğer bölümler için de yeni kontrol tanımı yapıp, örneğe göre güncelleyiniz.
Alpaslan bey,
Öncelikle desteğiniz için teşekkür ederim. Benim aslında istediğim eğer yapılabiliyorsa tam olarak şöyle. Örneğin kodu çalıştırdığınızda 1 Eylül için 3 kere Msgbox geliyor. 65 Planlandı, 68 Planlandı ve 72 Planlandı diye. Ben sadece son hali olan 72 planlandının gelmesi çabası içindeyim. Yukardaki kodla sadece 65 Planlandı geliyor. Bunun yapılabilmesi mümkün mü ? Desteğiniz için teşekkür ederim.
 
Bu işlem için mesaj kutusu içeren satırları döngünün dışına çıkartmanız gerekir.

Örnek olarak E6 hücresi için olan bölümü Next satırından sonra yazınız.
1664956370563.png
 
Konu Sahibi
Bu işlem için mesaj kutusu içeren satırları döngünün dışına çıkartmanız gerekir.

Örnek olarak E6 hücresi için olan bölümü Next satırından sonra yazınız.
Ekli dosyayı görüntüle 12010
Alpaslan bey, O şekilde yapamadım. Bende ilk gönderdiğiniz tasarımı değiştirerek yapmayı denedim. Ancak atla: kısmını ikinci kez yazınca hata aldım. Örneğin aşağıdaki gibi;

If kontrolE = 1 Then GoTo atla
If Sheets("Sayfa1").Range("e6") > 50 Then
MsgBox Sheets("Sayfa1").Range("c1") & " tarihinde " & Sheets("Sayfa1").Range("a3") & " bölgesine kapasitenin üzerinde personel planladınız. Bilginize. ", , "Planlama"
kontrolE = 1
End If
atla:

'İlgili günde yönetici sayısı 10 u geçerse uyar.
If kontrolE = 1 Then GoTo atla

If Sheets("Sayfa1").Range("f6") > 10 Then
MsgBox Sheets("Sayfa1").Range("c1") & " tarihinde " & Sheets("Sayfa1").Range("a3") & " bölgesine kapasitenin üzerinde yönetici planladınız. Bilginize.", , "Planlama"
kontrolE = 1

End If
atla:
End If
End If

Yazdığımda aşağıdaki resimdeki hatayı almaktayım. Yardımlarınız ricasıyla.

1664957252431.png
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst