İki Tarih Aralığındaki Veriler

Katılım
28 Nisan 2009
Mesajlar
355
Excel Vers. ve Dili
2003 tr
Merhaba...

Ekteki dosyamda yer alan raporların aylara göre dağılımını yapmak istiyorum. Sadece bir tarih olsa yapıyorum ama iki tarih aralığına denk geldiği için beceremedim. Yardımcı olursanız sevinirim.

İstediğim rapor giriş sayfasına girilen raporların firma ve döneme göre listeleme sayfasında bulunan dönem aralıklarına göre tekrar listelemek böylelikle hangi ayın işlemini yapıyorsam sadece o ayda olan raporları görebileceğim. Şimdiden teşekkürler.
 

Ekli dosyalar

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,850
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Merhaba...

Ekteki dosyamda yer alan raporların aylara göre dağılımını yapmak istiyorum. Sadece bir tarih olsa yapıyorum ama iki tarih aralığına denk geldiği için beceremedim. Yardımcı olursanız sevinirim.

İstediğim rapor giriş sayfasına girilen raporların firma ve döneme göre listeleme sayfasında bulunan dönem aralıklarına göre tekrar listelemek böylelikle hangi ayın işlemini yapıyorsam sadece o ayda olan raporları görebileceğim. Şimdiden teşekkürler.
Kod :

Kod:
Sub iki_tarih_arası_sorgulama()
Set sh1 = Sheets("RAPOR GİRİŞ")
Set sh2 = Sheets("FİRMA VE DÖNEME GÖRE SIRALAMA")
Ay = sh2.Cells(4, "c").Value
If Ay = "" Then MsgBox "İlgili ay seçilmedi": Exit Sub
sh2.Range("A7:D65000").ClearContents
sat = 7
For i = 3 To sh1.Cells(Rows.Count, "a").End(3).Row
If Ay = Format(CDate(sh1.Cells(i, "c").Value), "mmmm") Or Ay = Format(CDate(sh1.Cells(i, "d").Value), "mmmm") Then
sh2.Cells(sat, "a").Value = sh1.Cells(i, "a").Value
sh2.Cells(sat, "b").Value = sh1.Cells(i, "b").Value
sh2.Cells(sat, "c").Value = sh1.Cells(i, "c").Value
sh2.Cells(sat, "d").Value = sh1.Cells(i, "d").Value
sat = sat + 1
End If
Next
MsgBox "işlem tamam"
End Sub
 
Katılım
28 Nisan 2009
Mesajlar
355
Excel Vers. ve Dili
2003 tr
Halit bey çok teşekkür ederim, elinize,emeğinize sağlık.

Ama sanırım tam anlatamadım, mesela 01/01/2011 ile 30/06/2011 tarihleri arasında raporu olan bir işçi diğer sayfadaki ay dökümlerinden ocak,şubat,mart,nisan,mayıs ve haziran aylarının tamamında görünmeli, kod da sadece başlangıç ve bitiş aylarında görünüyor. Tekrar ilgilenirseniz çok sevinirim.
 

Ekli dosyalar

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,850
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Halit bey çok teşekkür ederim, elinize,emeğinize sağlık.

Ama sanırım tam anlatamadım, mesela 01/01/2011 ile 30/06/2011 tarihleri arasında raporu olan bir işçi diğer sayfadaki ay dökümlerinden ocak,şubat,mart,nisan,mayıs ve haziran aylarının tamamında görünmeli, kod da sadece başlangıç ve bitiş aylarında görünüyor. Tekrar ilgilenirseniz çok sevinirim.
Siz dönemini C4 hücresine yazmışınız.

Burada sorgulanacak iki tarih hangi hücrelere yazılacak örnek dosyanızı bu doğrultuda düzenleyin.
 
Katılım
28 Nisan 2009
Mesajlar
355
Excel Vers. ve Dili
2003 tr
Halit bey şöyle anlatayım,

Ben Mali Müşavirlik yapıyorum ve bu dosyayı mükelleflerimizin, rapor alan işçilerinin raporlarını aylık prim hizmet belgelerine doğru yansıtabilmek ve takip edebilmek için hazırlamaya çalışıyordum.

Rapor giriş kısmına yazdığım tarihler arasında raporlu olan işçilerin (mesela ,a işçisi rapor giriş sayfasında bulunan 01/01/2011 ile 31/03/2011 tarihleri arasında raporlu olsun) ocak,şubat ve mart aylarında sigortası görünmemesi gerekiyor,ve benim bu işçiyi takip edebilmem için bu a işçisi firma ve döneme göre sırala sayfasındaki ocak,şubat ve mart dönemlerinin hepsinde görünmesi gerekiyor.

Dosyayı içine açıklama ekleyerek tekrar sunuyorum. Sizi de yordum yardımınız için tekrar teşekkürler.
 

Ekli dosyalar

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,850
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Halit bey şöyle anlatayım,

Ben Mali Müşavirlik yapıyorum ve bu dosyayı mükelleflerimizin, rapor alan işçilerinin raporlarını aylık prim hizmet belgelerine doğru yansıtabilmek ve takip edebilmek için hazırlamaya çalışıyordum.

Rapor giriş kısmına yazdığım tarihler arasında raporlu olan işçilerin (mesela ,a işçisi rapor giriş sayfasında bulunan 01/01/2011 ile 31/03/2011 tarihleri arasında raporlu olsun) ocak,şubat ve mart aylarında sigortası görünmemesi gerekiyor,ve benim bu işçiyi takip edebilmem için bu a işçisi firma ve döneme göre sırala sayfasındaki ocak,şubat ve mart dönemlerinin hepsinde görünmesi gerekiyor.

Dosyayı içine açıklama ekleyerek tekrar sunuyorum. Sizi de yordum yardımınız için tekrar teşekkürler.
Bu kodu denermisiniz.

Kod:
Sub iki_tarih_arası_sorgulama()
Set sh1 = Sheets("RAPOR GİRİŞ")
Set sh2 = Sheets("FİRMA VE DÖNEME GÖRE SIRALAMA")
ay = Format("01." & Format(sh2.Cells(4, "c").Value, "mm") & "." & Format(Now, "yyyy"), "dd.mm.yyyy")
ay1 = CDate(Format("01." & Format(ay, "mm") + 1 & "." & Format(Now, "yyyy"), "dd.mm.yyyy")) - 1
If ay = "" Then MsgBox "İlgili ay seçilmedi": Exit Sub
sh2.Range("A7:D65000").ClearContents
sat = 7
For i = 3 To sh1.Cells(Rows.Count, "a").End(3).Row
If CDate(ay1) >= CDate(Format(sh1.Cells(i, "c").Value, "dd.mm.yyyy")) & Chr(10) _
And CDate(ay) <= CDate(Format(sh1.Cells(i, "d").Value, "dd.mm.yyyy")) Then
sh2.Cells(sat, "a").Value = sh1.Cells(i, "a").Value
sh2.Cells(sat, "b").Value = sh1.Cells(i, "b").Value
sh2.Cells(sat, "c").Value = sh1.Cells(i, "c").Value
sh2.Cells(sat, "d").Value = sh1.Cells(i, "d").Value
sat = sat + 1
End If
Next
MsgBox "işlem tamam"
End Sub
 
Katılım
28 Nisan 2009
Mesajlar
355
Excel Vers. ve Dili
2003 tr
Tamam şimdi olmuş çok sağolun.

Ne iş yapıyorsunuz bilmiyorum ama benimde size muhasebeci olarak yardımcı olabileceğim bir şeyler olursa, buradan özel mesajla gönderirseniz elimden geleni yaparım. Tekrar teşekkürler.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,850
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Tamam şimdi olmuş çok sağolun.

Ne iş yapıyorsunuz bilmiyorum ama benimde size muhasebeci olarak yardımcı olabileceğim bir şeyler olursa, buradan özel mesajla gönderirseniz elimden geleni yaparım. Tekrar teşekkürler.
Bir kamu kuruluşunda çalışıyorum kuruluşun adını söylemiyorum,ama emin olunki muhasebecilerle iç içe çalışıyoruz ve hergün muhasebeciler daireye gelir ve işlemlerini yaptırır.
 
Katılım
28 Nisan 2009
Mesajlar
355
Excel Vers. ve Dili
2003 tr
Bir kamu kuruluşunda çalışıyorum kuruluşun adını söylemiyorum,ama emin olunki muhasebecilerle iç içe çalışıyoruz ve hergün muhasebeciler daireye gelir ve işlemlerini yaptırır.

Kolay gelsin yine de herhangi bir konuda yardımım dokunacak olursa dediğim gibi çekinmeden mutlaka mesaj yazınız.

Birde sizin kod yazdığınız dosyayı örnek olsun diye koymuştum kodu şimdi asıl dosyaya uyarlamaya çalışıyorum ama baya uğraştıracak gibi görünüyor :biggrin: formulleri eskiden beri kurcalıyordum ama kod işine daha birkaç haftadır merak sardım, bakalım diğer dosyaya uyarlayabilcekmiyim.
 
Katılım
28 Nisan 2009
Mesajlar
355
Excel Vers. ve Dili
2003 tr
Tekrar rahatsız ediyorum kusura bakmayın ama yukarıda da dediğim gibi size örnek dosya göndermiştim ve asıl dosyaya aktarabilirim diye düşünüyordum, Çok uğraşmama rağmen kodları bir türlü asıl dosyaya uyduramadım. Tekrar bakar mısınız bu defa asıl dosyayı ekledim. Bir de nerede hata yaptığımı söyler misiniz?
 

Ekli dosyalar

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,850
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Tekrar rahatsız ediyorum kusura bakmayın ama yukarıda da dediğim gibi size örnek dosya göndermiştim ve asıl dosyaya aktarabilirim diye düşünüyordum, Çok uğraşmama rağmen kodları bir türlü asıl dosyaya uyduramadım. Tekrar bakar mısınız bu defa asıl dosyayı ekledim. Bir de nerede hata yaptığımı söyler misiniz?
Kodu böyle deneyin C4 hücresindeki aylar örnek MAYIS ayı için Mayıs gibi olmalı yani yazım düzeninde olmalı


Kod:
Sub iki_tarih_arası_sorgulama()
Set sh1 = Sheets("Rapor Girişi")
Set sh2 = Sheets("Aylık Döküm")
ay = Format("01." & Format(sh2.Cells(4, "c").Value, "mm") & "." & Format(Now, "yyyy"), "dd.mm.yyyy")
ay1 = CDate(Format("01." & Format(ay, "mm") + 1 & "." & Format(Now, "yyyy"), "dd.mm.yyyy")) - 1
If ay = "" Then MsgBox "İlgili ay seçilmedi": Exit Sub
sh2.Range("A7:D65000").ClearContents
sat = 7
For i = 10 To sh1.Cells(Rows.Count, "a").End(3).Row
If CDate(ay1) >= CDate(Format(sh1.Cells(i, "d").Value, "dd.mm.yyyy")) & Chr(10) _
And CDate(ay) <= CDate(Format(sh1.Cells(i, "e").Value, "dd.mm.yyyy")) Then
sh2.Cells(sat, "a").Value = sh1.Cells(i, "a").Value
sh2.Cells(sat, "b").Value = sh1.Cells(i, "b").Value
sh2.Cells(sat, "c").Value = sh1.Cells(i, "c").Value
sh2.Cells(sat, "d").Value = sh1.Cells(i, "d").Value
sh2.Cells(sat, "e").Value = sh1.Cells(i, "f").Value
sat = sat + 1
End If
Next
MsgBox "işlem tamam"
End Sub
 
Katılım
28 Nisan 2009
Mesajlar
355
Excel Vers. ve Dili
2003 tr
Tamamdır teşekkürler, gözlerim bozuktu iyice bozuldu :biggrin: meğerse her yer doğruymuş sadece küçük harften dolayı hata vermiş :)
 
Katılım
28 Nisan 2009
Mesajlar
355
Excel Vers. ve Dili
2003 tr
Halit bey tekrardan bu konu için rahatsız ediyorum.

Personele 26/10/2011- 26/12/2011 tarihleri arasında rapor girişi yaptığımda aylara göre listelediğimiz sayfada Ekim ve Kasım aylarında görünüyor fakat Aralık ayında görünmüyor tekrar bakabilir misiniz rica etsem.
 

Ekli dosyalar

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,850
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Halit bey tekrardan bu konu için rahatsız ediyorum.

Personele 26/10/2011- 26/12/2011 tarihleri arasında rapor girişi yaptığımda aylara göre listelediğimiz sayfada Ekim ve Kasım aylarında görünüyor fakat Aralık ayında görünmüyor tekrar bakabilir misiniz rica etsem.
Bu kodu denermisiniz.

Kod:
Sub iki_tarih_arası_sorgulama()
Set sh1 = Sheets("RAPOR GİRİŞ")
Set sh2 = Sheets("FİRMA VE DÖNEME GÖRE SIRALAMA")
Dim ay(12)
ay(1) = "Ocak"
ay(2) = "Şubat"
ay(3) = "Mart"
ay(4) = "Nisan"
ay(5) = "Mayıs"
ay(6) = "Haziran"
ay(7) = "Temmuz"
ay(8) = "Ağustos"
ay(9) = "Eylül"
ay(10) = "Ekim"
ay(11) = "Kasım"
ay(12) = "Aralık"
If sh2.Cells(4, "c").Value = "" Then MsgBox "İlgili ay seçilmedi": Exit Sub
sh2.Range("A7:D65000").ClearContents
sat = 7
For j = 1 To 12
If sh2.Cells(4, 3).Value = ay(j) Then
For i = 3 To sh1.Cells(Rows.Count, "a").End(3).Row
deg1 = Val(Format(sh1.Cells(i, "c").Value, "mm"))
deg2 = Val(Format(sh1.Cells(i, "d").Value, "mm"))
If j >= deg1 And j <= deg2 Then
sh2.Cells(sat, "a").Value = sh1.Cells(i, "a").Value
sh2.Cells(sat, "b").Value = sh1.Cells(i, "b").Value
sh2.Cells(sat, "c").Value = sh1.Cells(i, "c").Value
sh2.Cells(sat, "d").Value = sh1.Cells(i, "d").Value
sat = sat + 1
End If
Next
Exit For
End If
Next j

End Sub
 
Üst