• DİKKAT

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

Otomatik Tarih Hatırlatma

Katılım
1 Kasım 2012
Mesajlar
275
Excel Vers. ve Dili
Microsoft Office 2013 Türkçe
Selamün aleyküm.

1- A2 ile G100 arasında yüz tane personelim var diyelim. istiyorum ki e sütunundaki tarih gelmeden 1 ay önce ve sonra da 1 hafta önce son olarak da 1 gün önceden 3 kez uyarmasını istiyorum. bu mesaj kutusu ile olabilir. örneğin:

Uyarı: Sefa BURAN, İdari ve Mali İşler
"Memur Ahmet Mahmut Tırakyalı'nın terfisine 1 ay kaldı. 17.01.2015 tarihinde kademe ilerlemesini yapmayı unutmayınız. Eski derece/Kademe durumu: 12/2 yeni derece/kademe durumu: 12/3 olacaktır. "

Şeklinde uyarı almak mümkün mü?

2- Terfi tarihi geldiğinde otomatik olarak yeni derece kademe sütununa (D sütunu) yeni derece ve kademesinin otomatik olarak yazılması mümkün mü?

3- Bu hatırlatmaların excel kapalı iken de gelmesi mümkün müdür? Değilse bu sayfayı değil de çalışma kitabını açtığımda uyarı gelsin.

Not:
11/1 şeklindeki derece kademe bilgisindeki 11 derecedir ve 3 yılda bir derece verilir ve derece 1 düşürülür. ikinci bölümdeki 1 ise kademedir ve her yıl bir kademe verilir. Kademe verilmesi derecenin aksine 1 azaltılarak değil 1 artırılarak 3'e kadar çıkarılır. 3'ten sonra derece 1 düşürülür ve kademe de birden başlar.

Yani: 11/1= 11. derecenin 1. kademesinde olan bir memur bir yıl sonra 11/2 olur. (11. derecenin 2. Kademesi)
2 yıl sonra 11/3 olur. (11. Derecenin 3. Kademesi) 3 Yıl sonra ise 10/1 olur. Yani 10. derecenin 1. kademesi)


Dosyam: http://www.dosya.tc/server37/vCrJbO/DereceKademe_lerlemesi.xlsx.html
 
Selamün aleyküm.

1- A2 ile G100 arasında yüz tane personelim var diyelim. istiyorum ki e sütunundaki tarih gelmeden 1 ay önce ve sonra da 1 hafta önce son olarak da 1 gün önceden 3 kez uyarmasını istiyorum. bu mesaj kutusu ile olabilir. örneğin:

Uyarı: Sefa BURAN, İdari ve Mali İşler
"Memur Ahmet Mahmut Tırakyalı'nın terfisine 1 ay kaldı. 17.01.2015 tarihinde kademe ilerlemesini yapmayı unutmayınız. Eski derece/Kademe durumu: 12/2 yeni derece/kademe durumu: 12/3 olacaktır. "

Şeklinde uyarı almak mümkün mü?

2- Terfi tarihi geldiğinde otomatik olarak yeni derece kademe sütununa (D sütunu) yeni derece ve kademesinin otomatik olarak yazılması mümkün mü?

3- Bu hatırlatmaların excel kapalı iken de gelmesi mümkün müdür? Değilse bu sayfayı değil de çalışma kitabını açtığımda uyarı gelsin.

Not:
11/1 şeklindeki derece kademe bilgisindeki 11 derecedir ve 3 yılda bir derece verilir ve derece 1 düşürülür. ikinci bölümdeki 1 ise kademedir ve her yıl bir kademe verilir. Kademe verilmesi derecenin aksine 1 azaltılarak değil 1 artırılarak 3'e kadar çıkarılır. 3'ten sonra derece 1 düşürülür ve kademe de birden başlar.

Yani: 11/1= 11. derecenin 1. kademesinde olan bir memur bir yıl sonra 11/2 olur. (11. derecenin 2. Kademesi)
2 yıl sonra 11/3 olur. (11. Derecenin 3. Kademesi) 3 Yıl sonra ise 10/1 olur. Yani 10. derecenin 1. kademesi)

Aleyküm selam;
Dosyanıza bir modül ekleyin, kod sayfasına aşağıdaki kodu kopyalayıp
dosyanızı kaydedip kapatın tekrar açılışta çalışmasını inceleyiniz.

Kod:
Sub auto_open()
Sheets(1).Select
For a = 2 To Cells(Rows.Count, 1).End(xlUp).Row
If CDbl(Cells(a, 5)) - CDbl(Date) = 30 Then
If Right(Cells(a, 3), 1) < 3 Then _
DK = Left(Cells(a, 3).Value, InStr(Cells(a, 3).Value, "/") - 1) & "/" & Right(Cells(a, 3), 1) + 1
If Right(Cells(a, 3), 1) = 3 Then _
DK = Left(Cells(a, 3).Value, InStr(Cells(a, 3).Value, "/") - 1) - 1 & "/" & "1"
A1 = "TERFİSİNE 1 AY KALAN PERSONEL:" & vbCrLf
A2 = A1 & CDate(Cells(a, 5)) & " tarihinde kademe ilerlemesini yapmayı unutmayınız." & vbCrLf
A3 = A4 & "       " & Cells(a, 1) & vbCrLf
A4 = A3 & "Eski D./K. durumu: " & Cells(a, 3) & "   yeni D./K. durumu: " & DK & "olacaktır." & vbCrLf
End If
A5 = A2 & A4
If CDbl(Cells(a, 5)) - CDbl(Date) = 7 Then
If Right(Cells(a, 3), 1) < 3 Then _
DK1 = Left(Cells(a, 3).Value, InStr(Cells(a, 3).Value, "/") - 1) & "/" & Right(Cells(a, 3), 1) + 1
If Right(Cells(a, 3), 1) = 3 Then _
DK1 = Left(Cells(a, 3).Value, InStr(Cells(a, 3).Value, "/") - 1) - 1 & "/" & "1"
A6 = "TERFİSİNE 1 HAFTA KALAN PERSONEL:" & vbCrLf
A7 = A6 & CDate(Cells(a, 5)) & " tarihinde kademe ilerlemesini yapmayı unutmayınız." & vbCrLf
A8 = A9 & "       " & Cells(a, 1) & vbCrLf
A9 = A8 & "Eski D./K. durumu: " & Cells(a, 3) & "   yeni D./K. durumu: " & DK1 & "olacaktır." & vbCrLf
End If
A10 = A5 & vbCrLf & A7 & A9
If CDbl(Cells(a, 5)) - CDbl(Date) = 1 Then
If Right(Cells(a, 3), 1) < 3 Then _
DK2 = Left(Cells(a, 3).Value, InStr(Cells(a, 3).Value, "/") - 1) & "/" & Right(Cells(a, 3), 1) + 1
If Right(Cells(a, 3), 1) = 3 Then _
DK2 = Left(Cells(a, 3).Value, InStr(Cells(a, 3).Value, "/") - 1) - 1 & "/" & "1"
A11 = "TERFİSİNE 1 GÜN KALAN PERSONEL:" & vbCrLf
A12 = A11 & CDate(Cells(a, 5)) & " tarihinde kademe ilerlemesini yapmayı unutmayınız." & vbCrLf
A13 = A14 & "       " & Cells(a, 1) & vbCrLf
A14 = A13 & "Eski D./K. durumu: " & Cells(a, 3) & "   yeni D./K. durumu: " & DK2 & "olacaktır." & vbCrLf
End If
If CDbl(Cells(a, 5)) - CDbl(Date) <= 0 Then
If CDbl(Cells(a, 5)) - CDbl(Date) < 0 Then _
MsgBox "GÜNÜ GEÇMİŞ TERFİ BULUNDU; İŞLEM YAPILACAK" & vbCrLf & Cells(a, 1)
If Right(Cells(a, 3), 1) < 3 Then
Cells(a, 4) = Left(Cells(a, 3).Value, InStr(Cells(a, 3).Value, "/") - 1) & "/" & Right(Cells(a, 3), 1) + 1
Cells(a, 6) = CDate(CDbl(Cells(a, 6) + 365))
MsgBox Cells(a, 1) & " İsimli Personelin Terfi İşlemi Yapıldı", vbInformation, "Sefa BURAN, İdari ve Mali İşler"
End If
If Right(Cells(a, 3), 1) = 3 Then
Cells(a, 4) = Left(Cells(a, 3).Value, InStr(Cells(a, 3).Value, "/") - 1) - 1 & "/" & "1"
Cells(a, 6) = CDate(CDbl(Cells(a, 6) + 365))
MsgBox Cells(a, 1) & " İsimli Personelin Terfi İşlemi Yapıldı", vbInformation, "Sefa BURAN, İdari ve Mali İşler"
End If
End If
Next
A15 = A10 & vbCrLf & A12 & A14
If A15 <> Empty Then MsgBox A15, vbCritical, "Sefa BURAN, İdari ve Mali İşler"
End Sub

http://s3.dosya.tc/server30/sEtOoX/KopyaDe_Kademe.zip.html
 
Aleyküm selam;
Dosyanıza bir modül ekleyin, kod sayfasına aşağıdaki kodu kopyalayıp
dosyanızı kaydedip kapatın tekrar açılışta çalışmasını inceleyiniz.

Kod:
Sub auto_open()
Sheets(1).Select
For a = 2 To Cells(Rows.Count, 1).End(xlUp).Row
If CDbl(Cells(a, 5)) - CDbl(Date) = 30 Then
If Right(Cells(a, 3), 1) < 3 Then _
DK = Left(Cells(a, 3).Value, InStr(Cells(a, 3).Value, "/") - 1) & "/" & Right(Cells(a, 3), 1) + 1
If Right(Cells(a, 3), 1) = 3 Then _
DK = Left(Cells(a, 3).Value, InStr(Cells(a, 3).Value, "/") - 1) - 1 & "/" & "1"
A1 = "TERFİSİNE 1 AY KALAN PERSONEL:" & vbCrLf
A2 = A1 & CDate(Cells(a, 5)) & " tarihinde kademe ilerlemesini yapmayı unutmayınız." & vbCrLf
A3 = A4 & "       " & Cells(a, 1) & vbCrLf
A4 = A3 & "Eski D./K. durumu: " & Cells(a, 3) & "   yeni D./K. durumu: " & DK & "olacaktır." & vbCrLf
End If
A5 = A2 & A4
If CDbl(Cells(a, 5)) - CDbl(Date) = 7 Then
If Right(Cells(a, 3), 1) < 3 Then _
DK1 = Left(Cells(a, 3).Value, InStr(Cells(a, 3).Value, "/") - 1) & "/" & Right(Cells(a, 3), 1) + 1
If Right(Cells(a, 3), 1) = 3 Then _
DK1 = Left(Cells(a, 3).Value, InStr(Cells(a, 3).Value, "/") - 1) - 1 & "/" & "1"
A6 = "TERFİSİNE 1 HAFTA KALAN PERSONEL:" & vbCrLf
A7 = A6 & CDate(Cells(a, 5)) & " tarihinde kademe ilerlemesini yapmayı unutmayınız." & vbCrLf
A8 = A9 & "       " & Cells(a, 1) & vbCrLf
A9 = A8 & "Eski D./K. durumu: " & Cells(a, 3) & "   yeni D./K. durumu: " & DK1 & "olacaktır." & vbCrLf
End If
A10 = A5 & vbCrLf & A7 & A9
If CDbl(Cells(a, 5)) - CDbl(Date) = 1 Then
If Right(Cells(a, 3), 1) < 3 Then _
DK2 = Left(Cells(a, 3).Value, InStr(Cells(a, 3).Value, "/") - 1) & "/" & Right(Cells(a, 3), 1) + 1
If Right(Cells(a, 3), 1) = 3 Then _
DK2 = Left(Cells(a, 3).Value, InStr(Cells(a, 3).Value, "/") - 1) - 1 & "/" & "1"
A11 = "TERFİSİNE 1 GÜN KALAN PERSONEL:" & vbCrLf
A12 = A11 & CDate(Cells(a, 5)) & " tarihinde kademe ilerlemesini yapmayı unutmayınız." & vbCrLf
A13 = A14 & "       " & Cells(a, 1) & vbCrLf
A14 = A13 & "Eski D./K. durumu: " & Cells(a, 3) & "   yeni D./K. durumu: " & DK2 & "olacaktır." & vbCrLf
End If
If CDbl(Cells(a, 5)) - CDbl(Date) <= 0 Then
If CDbl(Cells(a, 5)) - CDbl(Date) < 0 Then _
MsgBox "GÜNÜ GEÇMİŞ TERFİ BULUNDU; İŞLEM YAPILACAK" & vbCrLf & Cells(a, 1)
If Right(Cells(a, 3), 1) < 3 Then
Cells(a, 4) = Left(Cells(a, 3).Value, InStr(Cells(a, 3).Value, "/") - 1) & "/" & Right(Cells(a, 3), 1) + 1
Cells(a, 6) = CDate(CDbl(Cells(a, 6) + 365))
MsgBox Cells(a, 1) & " İsimli Personelin Terfi İşlemi Yapıldı", vbInformation, "Sefa BURAN, İdari ve Mali İşler"
End If
If Right(Cells(a, 3), 1) = 3 Then
Cells(a, 4) = Left(Cells(a, 3).Value, InStr(Cells(a, 3).Value, "/") - 1) - 1 & "/" & "1"
Cells(a, 6) = CDate(CDbl(Cells(a, 6) + 365))
MsgBox Cells(a, 1) & " İsimli Personelin Terfi İşlemi Yapıldı", vbInformation, "Sefa BURAN, İdari ve Mali İşler"
End If
End If
Next
A15 = A10 & vbCrLf & A12 & A14
If A15 <> Empty Then MsgBox A15, vbCritical, "Sefa BURAN, İdari ve Mali İşler"
End Sub

http://s3.dosya.tc/server30/sEtOoX/KopyaDe_Kademe.zip.html



TEŞEKKÜRLER. SELAM VE DUA İLE.

1- Hocam terfi tarihleri gelen personellerle ilgili terfiler yapıldıktan sonra terfisi yaklaşan personel yoksa 400 hatası veriyor, yani uyarı olmaması gerekirken 400 hatasi ile uyarı veriyor.
2- Terfi tarihleri yaklaşan ya da terfisi gelen personel olmadığı zaman uyarı vermemesi gerekirken 400 hatası veriyor.
3- Bir de terfi tarihleri yaklaşan personellerle alakalı; sadece tam bir ay kala ya da 1 hafta kala uyarı veriyor, bunu son 1 ay kalınca 30 gün boyunca her açıldığında o uyarıyı vermesi mümkün mü? Ben If CDbl(Cells(a, 5)) - CDbl(Date) = 30 Then olan bölümü If CDbl(Cells(a, 5)) - CDbl(Date) <= 30 Then şeklinde değiştirdim ama bu seferde sadece 1 kişye ait tarih bilgisi veriyor. diğer terfisi yaklaşan personellerin tarih bilgisi olmadan veriyor.

Son Olarak: eski derece kademe bölümüne gerek kalmadı. bunu tek bir bölüme toplayıp da ilerlemeyi öyle sağlamamız mümkün mü? yani terfi tarihi geldiğinde terfiyi yapalım, terfi bölümü ilerlesin
 
Son düzenleme:

1- A2 ile G100 arasında yüz tane personelim var diyelim. istiyorum ki e sütunundaki tarih gelmeden 1 ay önce ve sonra da 1 hafta önce son olarak da 1 gün önceden 3 kez uyarmasını istiyorum. bu mesaj kutusu ile olabilir. örneğin:

İlk mesajınızda 30 gün 7 gün 1 gün kala; 3 kere dediğiniz için o kodları eklemiştim.


TEŞEKKÜRLER. SELAM VE DUA İLE.

1- Hocam terfi tarihleri gelen personellerle ilgili terfiler yapıldıktan sonra terfisi yaklaşan personel yoksa 400 hatası veriyor, yani uyarı olmaması gerekirken 400 hatasi ile uyarı veriyor.
2- Terfi tarihleri yaklaşan ya da terfisi gelen personel olmadığı zaman uyarı vermemesi gerekirken 400 hatası veriyor.
3- Bir de terfi tarihleri yaklaşan personellerle alakalı; sadece tam bir ay kala ya da 1 hafta kala uyarı veriyor, bunu son 1 ay kalınca 30 gün boyunca her açıldığında o uyarıyı vermesi mümkün mü? Ben If CDbl(Cells(a, 5)) - CDbl(Date) = 30 Then olan bölümü If CDbl(Cells(a, 5)) - CDbl(Date) <= 30 Then şeklinde değiştirdim ama bu seferde sadece 1 kişye ait tarih bilgisi veriyor. diğer terfisi yaklaşan personellerin tarih bilgisi olmadan veriyor.

Son Olarak: eski derece kademe bölümüne gerek kalmadı. bunu tek bir bölüme toplayıp da ilerlemeyi öyle sağlamamız mümkün mü? yani terfi tarihi geldiğinde terfiyi yapalım, terfi bölümü ilerlesin
Kalan gün Ay' dan- haftadan az kaldığı zaman mesaj verilmesi;
Tek mesajdan taşacaktır, ayrı ayrı mesajı düşünürsek icabında arka arkaya
belkide 20-30 mesaj olabilir. Bence "listbox" veya "listview" ile daha iyi olur.
Aşağıdaki örneği deneyin.

http://s3.dosya.tc/server30/SWq0ms/KopyaDe_Kademe2.zip.html



3- Bu hatırlatmaların excel kapalı iken de gelmesi mümkün müdür? Değilse bu sayfayı değil de çalışma kitabını açtığımda uyarı gelsin.
Windows'un zamanlanan görevler bölümüne dosya yolunu ekleyip günlük çalışma saatini ayarlarsanız dosyanız hergün istediğiniz saatte açılacaktır.
Dosyanın "Userform" kod sayfasına ekleyeceğiniz dosyayı kaydet makrosu ile de dosya işlemi yapıp kaydedecektir.
 
Çekler için..

Konuyu Gördümde yazmadan edemedim..yeni konuda açmak istemedim..

Bu Hatırlatmayı benim çekler dosyam için vadesine son Son 3 Gün kala hatırlatma yapacak şekilde olsa çok işime yarardı..

Saygılarımla..
 

Ekli dosyalar

İzomer
Üstadlarımızın yazdığı kodlardan alıntı yaparak düzenledim.Umarım ihtiyacını karşılar.
 

Ekli dosyalar

İlk mesajınızda 30 gün 7 gün 1 gün kala; 3 kere dediğiniz için o kodları eklemiştim.



Kalan gün Ay' dan- haftadan az kaldığı zaman mesaj verilmesi;
Tek mesajdan taşacaktır, ayrı ayrı mesajı düşünürsek icabında arka arkaya
belkide 20-30 mesaj olabilir. Bence "listbox" veya "listview" ile daha iyi olur.
Aşağıdaki örneği deneyin.

http://s3.dosya.tc/server30/SWq0ms/KopyaDe_Kademe2.zip.html



Windows'un zamanlanan görevler bölümüne dosya yolunu ekleyip günlük çalışma saatini ayarlarsanız dosyanız hergün istediğiniz saatte açılacaktır.
Dosyanın "Userform" kod sayfasına ekleyeceğiniz dosyayı kaydet makrosu ile de dosya işlemi yapıp kaydedecektir.

olmadı hocam hiçbir uyarı gelmedi.
 
Hocam ekteki gibi hata veriyor ve aşağıdaki koda gidiyor..

Private Declare Function PlayIt Lib "winmm.dll" Alias "sndPlaySoundA" _
(ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
 

Ekli dosyalar

  • hata-mesaj.jpg
    hata-mesaj.jpg
    133.9 KB · Görüntüleme: 14
"D" sütununda bulunan "yeni kademe" eklediğim dosyada kaldırılmıştı.
"yeni Terfi Tarihinin" "D" sütununda bulunması gereklidir
sizin eklediğinizde "e" sütunundaydı;

SİZİN eklediğiniz dosyayı indirip açtım doğrudan hata verdi üstadım
 
yaklaşan tarih için uyarı

Selamun aleykum;

Ben excelde bi çalışma yaptım ve bu çalışmamla ilgili olarakta H sutunundaki tarihler yaklaştığında bana 10 gün önceden ve 1 gün önceden uyarı yapmasını istiyorum bu konuda yardımcı olur musunuz ?
 
Geri
Üst