• 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ü Msgbox Kayıp Saat Dilimi Uyarısı

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
234
Excel V
Office 2016 TR
Konu Sahibi
Değerli Excel hocalarımız iyi günler.

İhtiyacım olan 4. maddedir.

Önce dosyanın özelliklerini yazayım.

1-- Her yeni günün başlangıcında, saat 00:00 olduğunda, bir alt satıra yani, günün tarihinin olduğu satıra kayıyor. Sorun yok.

2-- Her 15 dakikada bir, sağdaki sütuna yani, saat diliminin olduğu sütuna kayıyor. Sorun yok.

3-- Eğer sadece günün tarihi yok ise (silinmiş veya bozulmuş ise), uyarı mesajı veriyor. Diğer eksik tarihlerde ise uyarı vermemeli. Vermiyor da zaten. Sorun yok.


4-- Eğer sadece o anki saat dilimi yok ise (silinmiş veya bozulmuş ise), uyarı mesajı vermesi gerekiyor. (İşte eksik olan bu). "Saat Dilimi bulunamadı" gibi bir uyarı vermeli.
Oldu ya ; anlık saat diliminin dışında, bozulan veya silinen diğer eksik saatler olursa, yine uyarı vermesine gerek yok.
İşte ihtiyacım olan bu satır


5-- Eğer mesai saatleri dışındaysak, (dosya mesai saatleri dışında açıldıysa) yine uyarı mesajı veriyor. Sorun yok.


Yani mavi renkli olan dördüncü madde hariç, diğer uyarılar sorunsuz çalışıyor.

İşte eklenmesi gereken mesaj uyarısı dördüncü madde olan kısım.
Yani o anki saat dilimi silinmiş veya bozulmuş ise, "Saat Dilimi Bulunamadı" gibi bir mesaj vermesi lazım.

Sanıyorum anlatabildim.

Teşekkürler.
 
Sayın hakki83
Ekteki dosyayı kontrol eder misiniz. Sayfa açıldığında tarih ya da saat yoksa ya da silindiyse eklenir ve geçerli hücreye gidilir.
 
Deneyiniz.
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Konu Sahibi
Emekleriniz için teşekkürler hocalarımız. Bilgisayara geçince hemen deneyeceğim.
 
Saat 17:07 de kodu çalıştırdım ve saat 17:15 i seçti Patron hocam.17:00 seçilmeliydi sanki.
Bir sonraki çeyrek saat seçilecek diye düşünmüştüm. Eğer dediğiniz gibi ise ufak bir ayar yapabiliriz.
 
Konu Sahibi
Refaz hocam, Userx hocam, Patron hocam.

Bizler için yazdığınız kodlar bir tane harften bile oluşsa, emeğiniz vardır, emekleriniz kıymetlidir. Emeklerinize bilgilerinize sağlık.

Patron hocamızın koduna bakamadım (ilk fırsatta bakacağım)

Userx hocamızın dosyasını inceledim.

Dosya zaten olmuş.

Sadece yapılması gereken değişiklikleri ve düzeltmeleri ; karışıklık olmaması için maddeleyerek yazacağım.


1-- Dosyanın tarihleri 01.01.2012'den değil de, 01.01.2022'den başlamalıydı. Değiştirdim. Onda bir sorun yok.

2-- Dosyanın tarihlerinin tamamı elle silinse bile kendiliğinden oluşuyor. (Ne güzel bir özellik)
Dolayısıyla, "Günün Tarihi Bulunamadı" mesajına ihtiyaç kalmadı. Neden? Çünkü tarihler silinmiyor ki? Tarihler otomatik kendiliğinden oluşuyor.

Günün Tarihi Bulunamadı mesajını ve buna bağlı olan (var ise) If ile başlayan satırları silelim.

Önceden bu mesaja neden ihtiyaç duyuyordum? Yanlışlıkla tarihler silinirse bizi uyarsın diye. Ama silinen tarihler otomatik oluştuğu için, bu mesaja gerek kalmadı.

3-- Tüm tarihlerin otomatik oluşmasının ne kadar güzel bir özellik olduğunu, bir üst maddede dile getirmiştim. Fakat tarihler, bugünün tarihine kadar otomatik geliyor. (01.01.2022 ile 17.05.2049 arası tüm tarihler) otomatik olarak gelmeli.

Aslında bu haliyle de gerçekten çok güzel görünüyor. Ama sadece bugünün tarihine kadar tarihler otomatik oluşuyor. Oysa 17.05.2049'a kadar tarihler yazılı olmalı.


Neden?
Çünkü bugünden sonraki tarihlere de veriler yazılacağı için,

(Kodlardaki
bugun = Date
kısmını

deneme yanılmayla

bugun = DateValue("17.05.2049")
olarak değiştirdim oldu , ama yapmadım , hocamıza bıraktım)


4-- 08:00 ile 18.00 arası 15'er dakikalık dilimlenmiş saatler de tıpkı tarihler gibi, tamamı bile silinse otomatik oluşuyor. Ne güzel. Bu özelliği çok sevdim.

Bundan dolayı "Saat Dilimi Bulunamadı" gibi bir
mesaja gerek kalmadı.
Zaten böyle bir mesaj kodların içinde yoktu. Yine de bu mesajı oluşturabilecek If ile başlayan satırlar var ise, bu satırları da silelim. Hem de kod sadeleşmiş olur.

Önceden bu mesaja neden ihtiyaç duyuyordum? Yanlışlıkla saatler silinirse bizi uyarsın diye. Ama silinen saatler otomatik oluştuğu için, gerek kalmadı.

5-- Şu an için "Mesai Saati Dışındayız" mesajı kodlarda kalmalı. Çünkü kullanıyorum. Şu an için bu mesajı kullanacağım.
Fakat yarın bir gün eğer bu mesaja ihtiyaç hissetmez isem, sırf bunu kaldırmaya çözüm istemek için sitede konu açmaya gerek kalmasın diye; kendim silebileyim diye;

Mesai Saati Dışındayız msgbox satırının ve onu oluşturan, (var ise) If ile başlayan satırları yıldız içine almalıyız. Ki silmek istediğimde kolayca silebileyim diye.

'****************
If xxxxx xxxxx
Msgbox xxxx xxxxx
'****************
gibi..


Neden?

Çünkü bazen biz kod acemileri, gereksiz diye gördüğümüz bir kod satırını silmek istediğimizde, ve sildiğimizde, bir bakıyoruz ki sildiğimiz bir satır başka bir yeri tetikliyor ve silince hata veriyor. Yani yapamıyoruz.

Beşinci madde de bu şekilde.

Bu düzeltmeler yapıldıktan sonra yine bir iki küçük isteğim daha olacak.

Userx hocamız dosyayı ekliyorum.

Patron hocamız kodlarınıza bakacağım ve yorumlarda bulunacağım.


Sağ olunuz.
 
Bir sonraki çeyrek saat seçilecek diye düşünmüştüm. Eğer dediğiniz gibi ise ufak bir ayar yapabiliriz.
Dediğim gibiydi.Bende önceden bie sürü mesaj yazmıştım bu konuya bunun örneği ve hertürlüsünü :)
Sonra üstad ile anlaşamadığımız için yazılan yorumları tüm sildim kafa karışmasın diye :)
Bende takipteyim bu konunun nasıl bir sonuç vereceğini abey.
 
Konu Sahibi
Geçilen çeyrek saat seçilecekse #3 nolu mesajımdaki kodlarda bulunan
RoundUp ifadesini RoundDown diye değiştirmek yeterli olacak sanırım.
Patron hocam şöyle yaptım.

Userx hocamızın, tarih ve saatleri otomatik oluşturan kod grubunu, sizin kodların en üstüne yapıştırdım.

Dolayısıyla saat tarih uyarısına gerek kalmamış oldu.

Tarih ve saatlerin tamamının otomatik oluşturulabileceğini, yani
böyle bir şey yapılabileceğini bilseydim en baştan beri bu şekilde kullanırdım.
Onun için mümkün olduğu kadar alternatif kodları talep ediyorum. Çünkü faydası var.


Böylelikle (mesai saati mesajı hariç) diğer iki mesajın satırını, gerek kalmadığı için, komple yeşile dönüştürdüm (iptal ettim).

Sizin kodlarınızda da başka bir düzeltmeye gerek kalmamış oldu.

Ayrıca Mesai Saatleri Dışındayız" mesajı sorunsuz çalışıyor.

Bilginize sağlık teşekkürler Patron hocamız.

.......
Ekleme: RoundDown yaptım oldu Patron hocam.
 
Konu Sahibi
Kontrol eder misiniz?
Userx hocamız teşekkürler olmuştur hiç sorun yok.

Bir sorum var,
kodlarda üst kısımda

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

şeklinde üç satır var.

Aynısı ortalarda da var.

Bunlardan biri yanlışlıkla fazla mı kopyalanmış yoksa ikisi de gerekli mi?
 
24 saat, 96 adet 15 dakikadan oluşuyor.
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst