• DİKKAT

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

Raporu biten öğrencileri uyarma

Katılım
23 Ocak 2011
Mesajlar
293
Excel Vers. ve Dili
2007 excel
Slm,
kırmızı hücreler raporu biten öğrencileri ,sarı hücreler ise raporunun bitmesine bir ay kalan öğrencileri gösteriyor.
Raporu biten ve rapor bitime yaklaşan öğrencileri kontrol sayfasında otomatik olarak nasıl gösterebiliriz.
 

Ekli dosyalar

Aşağıdaki kodları dener misiniz?


Sub rapor()
Dim baslangic, bitis As Date

a = WorksheetFunction.CountA(Sheets("ÖĞRENCİ BİLGİLERİ").Range("A:A"))
For i = 2 To a
'baslangic = Sheets("ÖĞRENCİ BİLGİLERİ").Cells(i, 3).Value
bitis = Sheets("ÖĞRENCİ BİLGİLERİ").Cells(i, 4).Value

If bitis - Date < 30 And bitis - Date < 0 Then
x = x + 1
Sheets("KONTROL").Cells(x + 1, 1) = Sheets("ÖĞRENCİ BİLGİLERİ").Cells(i, 2)
Sheets("KONTROL").Cells(x + 1, 2) = Sheets("ÖĞRENCİ BİLGİLERİ").Cells(i, 4)
Sheets("KONTROL").Cells(x + 1, 3) = "RAPORU BİTTİ"

End If
a = Date - bitis
If Date - bitis > -30 And Date - bitis < 0 Then
x = x + 1
Sheets("KONTROL").Cells(x + 1, 1) = Sheets("ÖĞRENCİ BİLGİLERİ").Cells(i, 2)
Sheets("KONTROL").Cells(x + 1, 2) = Sheets("ÖĞRENCİ BİLGİLERİ").Cells(i, 4)
Sheets("KONTROL").Cells(x + 1, 3) = "RAPORU BİTİME YAKLAŞTI"

End If
Next



End Sub
 
Teşekkürler ellerinize sağlık...Bunu butonsuz otomatik olarak nasıl calıştırabiliriz..
 
En üstü sub auto_open() yaptım modül1 e yazdım, tarihleri değiştirdim ama otomatik çalıştırmadı...
 
auto_open kitap kapatılıp tekrar açıldığında çalışır.Kitaptaki değişiklikleri kaydedin,kapatıp açın,göreceksiniz.Eğer kodların sayfada değişiklik yapıldıktan sonra çalışmasını istiyorsanız VBA penceresinde o sayfayı çift tklatın ve
Private Sub Worksheet_Change(ByVal Target As Range)
.
.
.
.
end sub

yazın.
 
Evet şimdi iki şekilde de oldu teşekkür ederim.Ama raporu güncellediğimde en altaki kişinin 3-4 tane kayıtı bulunuyor Yani en altakini güncellemiyor.
 
Sayın mahmutözdemir,
kodları denedim,bir sıkıntı yok.Aşağıdaki kodları ÖğrenciBilgileri sayfasına yapıştırıyorsunuz değil mi?


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim baslangic, bitis As Date

a = WorksheetFunction.CountA(Sheets("ÖĞRENCİ BİLGİLERİ").Range("A:A"))
For i = 2 To a

bitis = Sheets("ÖĞRENCİ BİLGİLERİ").Cells(i, 4).Value

If bitis - Date < 30 And bitis - Date < 0 Then
x = x + 1
Sheets("KONTROL").Cells(x + 1, 1) = Sheets("ÖĞRENCİ BİLGİLERİ").Cells(i, 2)
Sheets("KONTROL").Cells(x + 1, 2) = Sheets("ÖĞRENCİ BİLGİLERİ").Cells(i, 4)
Sheets("KONTROL").Cells(x + 1, 3) = "RAPORU BİTTİ"

End If
a = Date - bitis
If Date - bitis > -30 And Date - bitis < 0 Then
x = x + 1
Sheets("KONTROL").Cells(x + 1, 1) = Sheets("ÖĞRENCİ BİLGİLERİ").Cells(i, 2)
Sheets("KONTROL").Cells(x + 1, 2) = Sheets("ÖĞRENCİ BİLGİLERİ").Cells(i, 4)
Sheets("KONTROL").Cells(x + 1, 3) = "RAPORU BİTİME YAKLAŞTI"

End If
Next
End Sub


Bendeki dosyada en sın Burak AYDOĞMUŞ var.Rapor bitiş tarihini değiştirdim ve bir sıkıntı olmadan güncelleme yaptı.Tekrar bakar mısınız?
 
Öğrenci bilgileri sayfasından raporu biten öğrencileri güncellediğimde en alttaki öğrencinin adını tekrar yazıyor... Örneğin rapru biten 2 öğrenciyi güncellediğimde ardarda 3 tane Ayaz Süt oldu..
 

Ekli dosyalar

Öğrenci bilgileri sayfasından raporu biten öğrencileri güncellediğimde en alttaki öğrencinin adını tekrar yazıyor... Örneğin rapru biten 2 öğrenciyi güncellediğimde ardarda 3 tane Ayaz Süt oldu..

Sayın mahmutozdemir,
Raporu biten öğrenciler güncelledim derken neyi kastettiniz?Ben raporu biten A.KANDEMİR'in raporunu bir ay uzattım manuel olarak.Sadece KONTROL sayfasında "RAPORU BİTİME YAKLAŞTI" yazdı.Birkaç öğrencinin rapor tarihiyle oynadım yine sıkıntı çıkartmadı.Siz nasıl yaptınız da o şekilde bir hata verdi tam olarak anlatır mısınız?
 
Ben raporu biten yada raporu bitime yaklaşan öğrencilerin rapor tarihini 1 sene uzattım.O öğrenci kontrol sayfasından silindi ancak onun yerini kontrol sayfasında en alttaki kişinin ismi ikinci kez yazdı.
 
Sayın mahmutozdemir,
KONTROL sayfasındaki veriler aynen kaldığı için hata veriyordu.Küçük bir ekleme ile bu sorun çözüldü sanırım.Kontrol eder misiniz?

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim baslangic, bitis As Date
Son_Ogr = Sheets("KONTROL").Range("A65536").End(xlUp).Row
    Sheets("KONTROL").Range("A2:C" & Son_Ogr).ClearContents

a = WorksheetFunction.CountA(Sheets("ÖĞRENCİ BİLGİLERİ").Range("A:A"))
For i = 2 To a

bitis = Sheets("ÖĞRENCİ BİLGİLERİ").Cells(i, 4).Value

If bitis - Date < 30 And bitis - Date < 0 Then
x = x + 1
Sheets("KONTROL").Cells(x + 1, 1) = Sheets("ÖĞRENCİ BİLGİLERİ").Cells(i, 2)
Sheets("KONTROL").Cells(x + 1, 2) = Sheets("ÖĞRENCİ BİLGİLERİ").Cells(i, 4)
Sheets("KONTROL").Cells(x + 1, 3) = "RAPORU BİTTİ"

End If
a = Date - bitis
If Date - bitis > -30 And Date - bitis < 0 Then
x = x + 1
Sheets("KONTROL").Cells(x + 1, 1) = Sheets("ÖĞRENCİ BİLGİLERİ").Cells(i, 2)
Sheets("KONTROL").Cells(x + 1, 2) = Sheets("ÖĞRENCİ BİLGİLERİ").Cells(i, 4)
Sheets("KONTROL").Cells(x + 1, 3) = "RAPORU BİTİME YAKLAŞTI"

End If
Next
End Sub
 
Şimdi tam olmuş. Elinize sağlık teşekkür ederim..
 
Geri
Üst