• DİKKAT

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

Sistem Tarihinin ait olduğu ay

Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Değerli Dostlar Selamlar,
Şu bilgiyi almak istiyorum. UserForm açıldığı zaman TextBox şunu vermeli.
Sistem tarihine ait ilgili ayın 1. gününe ait kaç işlem var. Mesela:
Bu gün 23.08.2008 Burdan yola çıkarak 2008 Ağustos ayının birinci günü 01.01.2008 tarihi Sayfa2+Sayfa4 de Z sütunlarında toplam kaç kere yazılmış. (10,20,30 kaç ise)
Diğer TextBox ta ise o aya ait kaç kayıt var.
 
İlk sorunun cevabı 2nciyi anlamdım.:cool:
Kod:
Dim tarih As Date
tarih = DateSerial(Year(Date), Month(Date), 1)
topla = WorksheetFunction.CountIf(Sheets("Sayfa2").Range("Z1:Z65536"), tarih)
topla = topla + WorksheetFunction.CountIf(Sheets("Sayfa4").Range("Z1:Z65536"), tarih)
MsgBox "BU aybaşına ait " & topla & " Adet tarih var.."
 
Sayın Evren Hocam,
Teşekkür ederim. Değişik TextBoxlarda 2008 1.Ay,2.Ay,3.Ay diye aylara ait toplam gün kayıtlarını yazdıracağım. Diyelim TextBox 2 de 2008 1. Ay hesaplanacak.
Sayfa2, Z sütununda + Sayfa4 Z sütununda bu aya ait (01.01.2008,05.01.2008,08.01.2008 vs.) kaç kayıt var, sayım sonucu TextBox2 ye yazılsın.
 
Sayın Hocam, 1. cevabınızdaki de şöyle: Sistem tarihinin yani bu ayın 1. gününden Son gününe kadar 31 adet TextBox ta ayın her gününe ait toplam kayıtlar UsrForm açılınca toplamları vermesi gerekir.
 
Selamlar,

Sn. kelkitli,

Örnek dosya eklerseniz çözüme daha çabuk ulaşabiliriz.
 
Sayın Korhan Hocam,
İyi akşamlar. Dosya ekte. UserForm4 işlem yapacağımız bölüm.
 
Sayın Hocam,
UserForm Activate olayına
TextBox155 = WorksheetFunction.CountIf(Sheets("Sayfa2").Range("Z1:Z65536"), DateSerial(Year(Date), Month(Date), 22)) + WorksheetFunction.CountIf(Sheets("Kayıt").Range("Z1:Z65536"), DateSerial(Year(Date), Month(Date), 22))
yazdığımda olması lazım değilmi? Neden bilmiyorum. Olmadı.
TextBox155 = WorksheetFunction.CountIf(Sheets("Sayfa2").Range("Z1:Z65536"), DateSerial(Year(Date), Month(Date), 22))
yazdığımda ise
22 Tarihli kayıt olmasına rağmen 0 kayıt diyor.
Tarih formatıyla ilgili olurmu acaba?
 
Değerli Dostlar selamlar,
Private Sub CommandButton1_Click()
TextBox144 = WorksheetFunction.CountIf(Sheets("Sayfa2").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 1)) + WorksheetFunction.CountIf(Sheets("Kayıp").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 1))
TextBox145 = WorksheetFunction.CountIf(Sheets("Sayfa2").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 2)) + WorksheetFunction.CountIf(Sheets("Kayıp").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 2))
TextBox146 = WorksheetFunction.CountIf(Sheets("Sayfa2").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 3)) + WorksheetFunction.CountIf(Sheets("Kayıp").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 3))
TextBox147 = WorksheetFunction.CountIf(Sheets("Sayfa2").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 4)) + WorksheetFunction.CountIf(Sheets("Kayıp").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 4))
TextBox148 = WorksheetFunction.CountIf(Sheets("Sayfa2").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 5)) + WorksheetFunction.CountIf(Sheets("Kayıp").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 5))
TextBox149 = WorksheetFunction.CountIf(Sheets("Sayfa2").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 6)) + WorksheetFunction.CountIf(Sheets("Kayıp").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 6))
TextBox150 = WorksheetFunction.CountIf(Sheets("Sayfa2").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 7)) + WorksheetFunction.CountIf(Sheets("Kayıp").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 7))
TextBox151 = WorksheetFunction.CountIf(Sheets("Sayfa2").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 8)) + WorksheetFunction.CountIf(Sheets("Kayıp").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 8))
TextBox152 = WorksheetFunction.CountIf(Sheets("Sayfa2").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 9)) + WorksheetFunction.CountIf(Sheets("Kayıp").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 9))
TextBox153 = WorksheetFunction.CountIf(Sheets("Sayfa2").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 10)) + WorksheetFunction.CountIf(Sheets("Kayıp").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 10))
TextBox154 = WorksheetFunction.CountIf(Sheets("Sayfa2").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 11)) + WorksheetFunction.CountIf(Sheets("Kayıp").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 11))
TextBox155 = WorksheetFunction.CountIf(Sheets("Sayfa2").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 12)) + WorksheetFunction.CountIf(Sheets("Kayıp").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 12))
TextBox156 = WorksheetFunction.CountIf(Sheets("Sayfa2").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 13)) + WorksheetFunction.CountIf(Sheets("Kayıp").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 13))
TextBox157 = WorksheetFunction.CountIf(Sheets("Sayfa2").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 14)) + WorksheetFunction.CountIf(Sheets("Kayıp").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 14))
TextBox158 = WorksheetFunction.CountIf(Sheets("Sayfa2").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 15)) + WorksheetFunction.CountIf(Sheets("Kayıp").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 15))
TextBox159 = WorksheetFunction.CountIf(Sheets("Sayfa2").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 16)) + WorksheetFunction.CountIf(Sheets("Kayıp").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 16))
TextBox160 = WorksheetFunction.CountIf(Sheets("Sayfa2").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 17)) + WorksheetFunction.CountIf(Sheets("Kayıp").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 17))
TextBox161 = WorksheetFunction.CountIf(Sheets("Sayfa2").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 18)) + WorksheetFunction.CountIf(Sheets("Kayıp").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 18))
TextBox162 = WorksheetFunction.CountIf(Sheets("Sayfa2").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 19)) + WorksheetFunction.CountIf(Sheets("Kayıp").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 19))
TextBox163 = WorksheetFunction.CountIf(Sheets("Sayfa2").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 20)) + WorksheetFunction.CountIf(Sheets("Kayıp").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 20))
TextBox164 = WorksheetFunction.CountIf(Sheets("Sayfa2").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 21)) + WorksheetFunction.CountIf(Sheets("Kayıp").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 21))
TextBox165 = WorksheetFunction.CountIf(Sheets("Sayfa2").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 22)) + WorksheetFunction.CountIf(Sheets("Kayıp").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 22))
TextBox166 = WorksheetFunction.CountIf(Sheets("Sayfa2").Range("Z1:Z65536"), DateSerial(Year(Date), Month(Date), 23)) + WorksheetFunction.CountIf(Sheets("Kayıp").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 23))
TextBox167 = WorksheetFunction.CountIf(Sheets("Sayfa2").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 24)) + WorksheetFunction.CountIf(Sheets("Kayıp").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 24))
TextBox168 = WorksheetFunction.CountIf(Sheets("Sayfa2").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 25)) + WorksheetFunction.CountIf(Sheets("Kayıp").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 25))
TextBox169 = WorksheetFunction.CountIf(Sheets("Sayfa2").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 26)) + WorksheetFunction.CountIf(Sheets("Kayıp").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 26))
TextBox170 = WorksheetFunction.CountIf(Sheets("Sayfa2").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 27)) + WorksheetFunction.CountIf(Sheets("Kayıp").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 27))
TextBox171 = WorksheetFunction.CountIf(Sheets("Sayfa2").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 28)) + WorksheetFunction.CountIf(Sheets("Kayıp").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 28))
TextBox172 = WorksheetFunction.CountIf(Sheets("Sayfa2").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 29)) + WorksheetFunction.CountIf(Sheets("Kayıp").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 29))
TextBox173 = WorksheetFunction.CountIf(Sheets("Sayfa2").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 30)) + WorksheetFunction.CountIf(Sheets("Kayıp").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 30))
TextBox174 = WorksheetFunction.CountIf(Sheets("Sayfa2").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 31)) + WorksheetFunction.CountIf(Sheets("Kayıp").Range("Z2:Z65536"), DateSerial(Year(Date), Month(Date), 31))
End Sub
Kodları şu şekilde düzenledim. Veri alıyorum. Ancak tarih yazılı olan Sayfa2 Z sütununda yazılı olan tarih değerinin yazılı olduğu hücreye gidip çift tıklayıp başka işlem yapmadan çıkınca hücredeki değer sayılıyor. Değilse hücreyi görmüyor. Yada elle yazdığım tarih değerini görüyor, kayıt olarak aktarılanı çift tıklamayınca görmüyor. Ne yapmalıyım.
Birde aradığım değer gün
DateSerial(Year(Date), Month(Date), 1))
Yani bu ayın 1. günü olmasaydıda 2008 in 8. ayının tüm günleri olsaydı
DateSerial(Year(2008), Month(8), ?))
nasıl olmalıydı?
 
Son düzenleme:
Selamlar,

Eğer UserForm4 üzerindeki aylara ait TextBox ları ardışık olarak düzenlerseniz kodu diğer yıllar için yazmak daha kolay olacaktır. Bu haliyle her yıl için ayrı döngü kurmak gerekecektir. Ben sadece 2008 yılı için döngü oluşturdum. Formu düzenlerseniz diğer yıllarıda koda uygulayabiliriz.

Kod:
Private Sub UserForm_Initialize()
    For X = 1 To 12
    AYIN_İLK_GÜNÜ = CLng(DateSerial(2008, X, 1))
    AYIN_SON_GÜNÜ = CLng(DateSerial(2008, X + 1, 0))
    T1 = Evaluate("=SUMPRODUCT((Sayfa2!Z2:Z5000>=" & AYIN_&#304;LK_G&#220;N&#220; & ")*(Sayfa2!Z2:Z5000<=" & AYIN_SON_G&#220;N&#220; & "))")
    T2 = Evaluate("=SUMPRODUCT((Kay&#305;p!Z2:Z5000>=" & AYIN_&#304;LK_G&#220;N&#220; & ")*(Kay&#305;p!Z2:Z5000<=" & AYIN_SON_G&#220;N&#220; & "))")
    Controls("TextBox" & X) = T1 + T2
    TOPLAM = TOPLAM + T1 + T2
    Next
    TextBox13 = TOPLAM
    
    G&#220;N = 1
    For X = 144 To 174 Step 2
    TAR&#304;H = DateSerial(Year(Date), Month(Date), G&#220;N)
    Controls("TextBox" & X) = WorksheetFunction.CountIf(Sheets("Sayfa2").Range("Z:Z"), TAR&#304;H) + WorksheetFunction.CountIf(Sheets("Kay&#305;p").Range("Z:Z"), TAR&#304;H)
    G&#220;N = G&#220;N + 1
    Next
    For X = 145 To 173 Step 2
    TAR&#304;H = DateSerial(Year(Date), Month(Date), G&#220;N)
    Controls("TextBox" & X) = WorksheetFunction.CountIf(Sheets("Sayfa2").Range("Z:Z"), TAR&#304;H) + WorksheetFunction.CountIf(Sheets("Kay&#305;p").Range("Z:Z"), TAR&#304;H)
    G&#220;N = G&#220;N + 1
    Next
End Sub
 
Sayın Korhan Hocam,
Çok teşekkür ederim. Çoktan da öte.
Dosyayı istediğiniz şekle getirdim. Ekte.
 
Say&#305;n Korhan Hocam,
"0" de&#287;eri olan TextBox lar&#305; bo&#351; b&#305;rakabilirmiyiz.
 
Say&#305;n Hocam ben dosyay&#305; ekledim ama di&#287;er y&#305;llar&#305; haz&#305;rl&#305;yorum. Siz zahmet etmeyin. &#199;ok te&#351;ekk&#252;r ederim. Ben dosyay&#305; &#351;unun i&#231;in eklemi&#351;tim. 2008 ile di&#287;er y&#305;llar&#305; daha k&#305;saltarak birle&#351;tirme filan d&#252;&#351;&#252;nm&#252;&#351; olabilirsiniz diye. Ama ayr&#305; da olsa benim i&#231;in farketmez haz&#305;rl&#305;yorum. Te&#351;ekk&#252;rlerimi iletiyorum. Eme&#287;iniz &#246;denemez. sa&#287;olun, Varolun.
 
Private Sub UserForm_Initialize()
For X = 1 To 12
AYIN_&#304;LK_G&#220;N&#220; = CLng(DateSerial(2008, X, 1))
AYIN_SON_G&#220;N&#220; = CLng(DateSerial(2008, X + 1, 0))
T1 = Evaluate("=SUMPRODUCT((Sayfa2!Z2:Z65536>=" & AYIN_&#304;LK_G&#220;N&#220; & ")*(Sayfa2!Z2:Z65536<=" & AYIN_SON_G&#220;N&#220; & "))")
T2 = Evaluate("=SUMPRODUCT((Kay&#305;p!Z2:Z65536>=" & AYIN_&#304;LK_G&#220;N&#220; & ")*(Kay&#305;p!Z2:Z65536<=" & AYIN_SON_G&#220;N&#220; & "))")
Controls("TextBox" & X) = T1 + T2
TOPLAM = TOPLAM + T1 + T2
Next
TextBox13 = TOPLAM

For X = 14 To 25
AYIN_&#304;LK_G&#220;N&#220;1 = CLng(DateSerial(2009, X, 1))
AYIN_SON_G&#220;N&#220;1 = CLng(DateSerial(2009, X + 1, 0))
T3 = Evaluate("=SUMPRODUCT((Sayfa2!Z2:Z65536>=" & AYIN_&#304;LK_G&#220;N&#220;1 & ")*(Sayfa2!Z2:Z65536<=" & AYIN_SON_G&#220;N&#220;1 & "))")
T4 = Evaluate("=SUMPRODUCT((Kay&#305;p!Z2:Z65536>=" & AYIN_&#304;LK_G&#220;N&#220;1 & ")*(Kay&#305;p!Z2:Z65536<=" & AYIN_SON_G&#220;N&#220;1 & "))")
Controls("TextBox" & X) = T3 + T4
TOPLAM1 = TOPLAM1 + T3 + T4
Next
TextBox26 = TOPLAM1

For X = 27 To 38
AYIN_&#304;LK_G&#220;N&#220;2 = CLng(DateSerial(2010, X, 1))
AYIN_SON_G&#220;N&#220;2 = CLng(DateSerial(2010, X + 1, 0))
T5 = Evaluate("=SUMPRODUCT((Sayfa2!Z2:Z65536>=" & AYIN_&#304;LK_G&#220;N&#220;2 & ")*(Sayfa2!Z2:Z65536<=" & AYIN_SON_G&#220;N&#220;2 & "))")
T6 = Evaluate("=SUMPRODUCT((Kay&#305;p!Z2:Z65536>=" & AYIN_&#304;LK_G&#220;N&#220;2 & ")*(Kay&#305;p!Z2:Z65536<=" & AYIN_SON_G&#220;N&#220;2 & "))")
Controls("TextBox" & X) = T5 + T6
TOPLAM2 = TOPLAM2 + T5 + T6
Next
TextBox38 = TOPLAM2

G&#220;N = 1
For X = 144 To 174 Step 1
TAR&#304;H = DateSerial(Year(Date), Month(Date), G&#220;N)
Controls("TextBox" & X) = WorksheetFunction.CountIf(Sheets("Sayfa2").Range("Z:Z"), TAR&#304;H) + WorksheetFunction.CountIf(Sheets("Kay&#305;p").Range("Z:Z"), TAR&#304;H)
G&#220;N = G&#220;N + 1
Next
End Sub
Hocam &#351;&#246;yle yapt&#305;m umar&#305;m hata yapmam&#305;&#351;&#305;md&#305;r.
 
Son düzenleme:
Selamlar,

Kodu a&#351;a&#287;&#305;daki &#351;ekilde de&#287;i&#351;tirip denermisiniz.

Kod:
Private Sub UserForm_Initialize()
    AY = 1
    YIL = 2008
    For X = 1 To 103
    AYIN_&#304;LK_G&#220;N&#220; = CLng(DateSerial(YIL, AY, 1))
    AYIN_SON_G&#220;N&#220; = CLng(DateSerial(YIL, AY + 1, 0))
    T1 = Evaluate("=SUMPRODUCT((Sayfa2!Z2:Z5000>=" & AYIN_&#304;LK_G&#220;N&#220; & ")*(Sayfa2!Z2:Z5000<=" & AYIN_SON_G&#220;N&#220; & "))")
    T2 = Evaluate("=SUMPRODUCT((Kay&#305;p!Z2:Z5000>=" & AYIN_&#304;LK_G&#220;N&#220; & ")*(Kay&#305;p!Z2:Z5000<=" & AYIN_SON_G&#220;N&#220; & "))")
    Controls("TextBox" & X) = IIf((T1 + T2) = 0, "", T1 + T2)
    TOPLAM = TOPLAM + T1 + T2
    If (X Mod 13) = 0 Then
    Controls("TextBox" & X) = IIf(TOPLAM = 0, "", TOPLAM)
    TOPLAM = 0
    YIL = YIL + 1
    End If
    AY = AY + 1
    Next
    
    TOPLAM = 0
    G&#220;N = 1
    For X = 144 To 174 Step 2
    TAR&#304;H = DateSerial(Year(Date), Month(Date), G&#220;N)
    TOPLAM = WorksheetFunction.CountIf(Sheets("Sayfa2").Range("Z:Z"), TAR&#304;H) + WorksheetFunction.CountIf(Sheets("Kay&#305;p").Range("Z:Z"), TAR&#304;H)
    Controls("TextBox" & X) = IIf(TOPLAM = 0, "", TOPLAM)
    G&#220;N = G&#220;N + 1
    Next
    For X = 145 To 173 Step 2
    TAR&#304;H = DateSerial(Year(Date), Month(Date), G&#220;N)
    TOPLAM = WorksheetFunction.CountIf(Sheets("Sayfa2").Range("Z:Z"), TAR&#304;H) + WorksheetFunction.CountIf(Sheets("Kay&#305;p").Range("Z:Z"), TAR&#304;H)
    Controls("TextBox" & X) = IIf(TOPLAM = 0, "", TOPLAM)
    G&#220;N = G&#220;N + 1
    Next
End Sub
 
Say&#305;n Korhan Hocam,
&#199;ok &#231;ok te&#351;ekk&#252;r ederim. Bu m&#252;kemmel &#246;tesi bir &#351;ey.
 
Geri
Üst