M

Soru Günü Gelenleri ve Geçenleri hatırlatma?

  • Konuyu başlatan Konuyu başlatan mars2
  • Başlangıç tarihi Başlangıç tarihi

mars2

Normal Üye
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
İyi Günler;
Listem mevcut, Bu listenin "B" sutundaki hücrelerde Taşınmaz No, "N" sutunudaki hücrelerde isim, "Q" sutunundaki sutundaki hücrelerde ise Bitiş tarihi bulunmaktadır. Ancak, Q sutunuda hücrelerde her yılın bitiş tarihi alt alta bulunmaktadır. Örneğin
22.07.2018
22.07.2019
22.07.2020 gibi

B sutun Taşınmaz No (112 vb)
N sutunu İsim( Veli vb)
Q sutundaki hücrelerede bitiş tarihleri ( kaç yıldan itibaren başlamış ise bitişi de ona göre, 4 yıl veya 5 yıl olacak diye bir kural yok. Mesela 2018 yılında bitiyorsu 3 yıl olacak veya daha fazlada olabilir)
Başlangıç ve bitiş tarihlerin manuel olarak girmekteyim.

Yılı içinde ( 2020 yılında bulunduğumuzdan temmuz ayı içinde süresi bitenlerin (msgbox şeklinde de olabilir) 2021 yılında ise 2021 yılının ilgili ayına ait olanları) listesinin gösterilmesini,


Örnek: listede 120 taşınmaz nolu dosyadan veli'ye ait 2020 yılı 07 ayının 13. gününde günü geçen 1 adet olduğunu farzettiğimizde;
13.07.2018
13.07.2019
13.07.2020

120 taşınmaz nolu Veli 13.07.2020 mesajını veya listesini vermesini,

Eğer ayın 15.07.2020 tarihinde kontrol ettiğimde iki adet veya daha fazla bulunması halinde buna göre hatırlatmasını istiyorum.

Veri tabanında, 1000'den fazla veri olması nedeniyle bazen gözden kaçırdığımızdan işlem yapmamadığımız veya eksik yaptığımız olabiliyor. Bunu minimize etmek için Bu konuda yardımlarınız için teşekkür ederim.

office pro 2016
 

Ekli dosyalar

Merhaba Sayın @mars2 .

Sorunuzu tam olarak anlayamamış olabilirim.
Belgeniz açıkken ALT+F11 tuşlarına basarak VBA ekranını görüntüleyin.
VBA ekranında sol taraftan ThisWorkbook (BuÇalışmaKitabı) 'a fareyle çift tıklayıp
sağdaki boş alana aşağıdaki modu yapıştırın. Belgeyi MAKRO İÇEREBİLEN (*.xlsb veya *.xlsm uzantılı) türüyle kaydedin.

Belirttiğiniz kontrol belge açılırken otomatik olarak yapılıp, içerisinde içinde bulunulan yıl/ay 'a ait veriler listelenecektir.
İsteğiniz bu değilse, olması gereken durumu örneklendirip,
şu nedenle şu satırdaki şu verilerin listelenmesi gerekir gibi bir açıklama ekleyerek yeni bir örnek belge yükleyin.

CPP:
Görüntülemek için giriş yapmanız gerekmektedir.
(13 satır)

.
 
Sayın ömer Baran;
Teşekkürler. İstediğim gibi olmuş ancak, geçmiş aylardan unutulan veya yapılmayanlarda bulunması halinde onları da göstermek mümkünmü?
 
İsterseniz, hem geçmiş döneme, hem de içinde bulunulan yıl - aya ait olup,
hem listeye girmesi gereken, hem de girmemesi gereken verilerin olduğu bir örnek belge hazırlayın.
Belgeye ekleyeceğiniz bir metin kutusuna da sadece uyarı listesine girecek verilerin olduğu uyarı metnini elle yazın ve
bu örnek belgeyi foruma ekleyin, çözüm bulunur mutllaka.
 
Sayın @mars2 .

Mevcut kodu aşağıdakiyle değiştirin ( Sayfa ismine ve Cells ibarelerinin önündeki NOKTA karakterlerine dikkat ) .
Kod, Q sütunundaki hücrelerde yer alan son tarihin durumuna göre uyarı listesine alınma olayına karar verir.
VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(23 satır)

.
 
Sayın @Ömer BARAN ;

İlgi ve alakanıza teşekkürler.

İl dışında olduğumdam cevabınız biraz geç yanıtlayabildim
kodu kendi uygulamama uyguladığımda
kodun
v = CDate(Split(.Cells(sat, 17), Chr(10))(s))
satırı hata vermektedir.

Bunun nedeni;
1- Hücrelerdeki biçim şekli tarih mi yoksa genel de olabilir mi biçimlenmesi gerekiyor,
2- hücrelerdeki tarihlerde bir yanlışlık yapılmış olduğundan mıdır
Bunlar değilse neden kaynakmış olabilir.

1595253357517.webp
 
Moderatörün son düzenlenenleri:
Sayın @mars2

Örnek belgeniz üzerinde denediniz mi acaba?
Örnek belgenizde sorun yaşamıyorsanız, gerçek belgedeki verileri görmek lazım.
Yazdığım kod'da;
-- hücrede en az iki tarih olması ve
-- hücre içerisinde iki tarihi birbirinden ayırmak ve satır başı yapmak için ALT+ENTER tuşunun kullanıldığı
koşulu vardı.
Belki gerçek belgenizde hücrede tek tarih vardır veya
tarihleri ayırmak için (metni kaydır özelliğiyle birlikte)BOŞLUK karakteri kullanılmıştır.

Sorun yaşadığınız örnek belgenin, özel bilgi içermeyen bir kopyasını ekeyin, bakarım.

.
 
Sayın Ömer Baran;

Açıklamalarınız aydınlatıcı ve yol gösterici olmakta,

Cevabınızda;
hücrede en az iki tarih olması ve
-- hücre içerisinde iki tarihi birbirinden ayırmak ve satır başı yapmak için ALT+ENTER tuşunun kullanıldığı
koşulu vardı.
Belki gerçek belgenizde hücrede tek tarih vardır veya
tarihleri ayırmak için (metni kaydır özelliğiyle birlikte)BOŞLUK karakteri kullanılmıştır.

Bazı hücreler hiç tarih yok
Bazıları bu yıl biteceğinden 1 adet bulunabiliyor
Tarihleri ayırmak için (metni kaydır özelliğiyle birlikte) BOŞLUK karakteri kullanılmamışt

Bu nedenle; kodun çalışması ve hayata vermemesi için
Hücre içerisinde iki tarihi birbirinden ayırmak ve satır başı yapmak için ALT+ENTER tuşunun kullanmaktayım.
Boş olan hücrelere tarih yazılmayabilinir
Tarihleri ayırmak için (metni kaydır özelliğiyle birlikte) BOŞLUK karakteri kullanılmamıştır.
Süresi dolan ve devam etmeyen tek tarih olanlara (12.12.2019 ) ikinci tarih olarak 00.00.0000 gibi işlem uygulanması gerekmektedir.

Kodun sorunsuz çalışması için önerileriniz de bulunursanız sevinieim.
 
Üst