süz ve raporla

Katılım
14 Ekim 2007
Mesajlar
173
Excel Vers. ve Dili
xp tr
Selam arkadaşlar
Aslında soruyu nasıl soracağımı bilmiyorum umarım düzgün sormuşumdur.

UF ye yeni eklediğim sekmede iki tarih arasında belirlediğim kritere uyanları süzerek toplayacak ve textboxlara yazacak
açıklama dosya içinde mevcut
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Dosyanız Hazır .Her 2 makina içinde çalışıyor.:cool:
Kod:
Private Sub CommandButton8_Click()
Dim syf As Worksheet, isim As String, i As Long
Dim ctr As Control, j As Byte
Dim istenilen, yapilan As String
Dim kumas, mekik, orta, diger As Double
On Error GoTo hata
For Each ctr In Me.Controls
    If Len(ctr.Tag) >= 8 Then
        tg = Mid(ctr.Tag, 8, Len(ctr.Tag) - 7)
        If CDbl(tg) >= 112 And CDbl(tg) <= 115 Then ctr.Value = Empty
    End If
Next ctr
For Each syf In Worksheets
    If Right(syf.Name, 7) = ".makina" Then
    kumas = 0: mekik = 0: orta = 0: diger = 0
        For i = 2 To syf.Cells(65536, "DE").End(xlUp).Row
            If syf.Cells(i, "DE").Value >= DTPicker3.Value _
            And syf.Cells(i, "DE").Value <= DTPicker4.Value Then
            istenilen = "TextBox" & Left(syf.Name, 1) & Replace(syf.Cells(i, "DF"), "-", "") & "DN"
            yapilan = "TextBox" & Left(syf.Name, 1) & Replace(syf.Cells(i, "DF"), "-", "") & "DC"
            Controls(istenilen).Value = syf.Cells(i, "DN").Value
            Controls(yapilan).Value = syf.Cells(i, "DC").Value
                For j = 112 To 115
                    If j = 112 Then
                        If IsNumeric(syf.Cells(i, j).Value) Then kumas = kumas + syf.Cells(i, j).Value
                    End If
                    If j = 113 Then
                        If IsNumeric(syf.Cells(i, j).Value) Then mekik = mekik + syf.Cells(i, j).Value
                    End If
                    If j = 114 Then
                        If IsNumeric(syf.Cells(i, j).Value) Then orta = orta + syf.Cells(i, j).Value
                    End If
                    If j = 115 Then
                        If IsNumeric(syf.Cells(i, j).Value) Then diger = diger + syf.Cells(i, j).Value
                    End If
                    isim = Left(syf.Name, 1) & syf.Cells(i, "DF") & "-" & j
                    For Each ctr In Me.Controls
                        If Len(ctr.Tag) >= 8 Then
                            If ctr.Tag = isim Then ctr.Value = syf.Cells(i, j).Value
                        End If
                    Next ctr
                Next j
            End If
        Next i
        Controls("a" & Left(syf.Name, 1)) = Format(kumas, "#,##0.00")
        Controls("b" & Left(syf.Name, 1)) = Format(mekik, "#,##0.00")
        Controls("c" & Left(syf.Name, 1)) = Format(orta, "#,##0.00")
        Controls("d" & Left(syf.Name, 1)) = Format(diger, "#,##0.00")
    End If
Next syf
Exit Sub
hata:
MsgBox "Bir hata oluştu.İşlemler sonlandırıldı.." & _
vbLf & "Büyük ihtimalle saat yanlış yazıldı..Veya yeni makina sayfası eklendi!!", vbCritical, "DİKKAT"
End Sub
 
Son düzenleme:
Katılım
14 Ekim 2007
Mesajlar
173
Excel Vers. ve Dili
xp tr
Say&#305;n Vren Gizen ilgin i&#231;in te&#351;ekk&#252;r ederim

kodlar benim sordu&#287;um &#351;ekilde m&#252;kemmel &#231;al&#305;&#351;&#305;yor

&#246;z&#252;r dileyerek s&#246;yl&#252;yorum soruyu eksik sordu&#287;umun fark&#305;na vard&#305;m
DE s&#252;tununda tarihleri s&#252;zd&#252;&#287;&#252;nde DF s&#252;tununda ayn&#305; vardiyalar&#305; toplayarak
Texbox lara yazmas&#305; laz&#305;m.
ayr&#305;ca DC s&#252;tunda vuru&#351; ve DN s&#252;tununda istenilen vuru&#351; ilgili texbox480 ve 479 ve ayn&#305; i&#351;lem di&#287;er vardiyalara olacak &#351;ekilde d&#252;zenlenebilirmi

Say&#305;n Evren Gizen yukar&#305;da yazd&#305;&#287;&#305;n&#305;z kodlar bana &#231;ok yabanc&#305;
nas&#305;l oluyorda kodlarda textbox isimleri yazmadan veriler yerine oturuyor
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
2 numaral&#305; mesajdan dosyay&#305; indirebilirsiniz.&#304;stenilen vuru&#351;lar ve yap&#305;lan vuru&#351;lar eklendi.:cool:
 
Katılım
14 Ekim 2007
Mesajlar
173
Excel Vers. ve Dili
xp tr
say&#305;n Evren Gizen

yard&#305;mlar&#305;n i&#231;in &#231;ok te&#351;ekk&#252;rler

peki tarihleri s&#252;zd&#252;kten sonra tarihlere uyan vardiyalar. kuma&#351;,mekik vs toplayarak textbox lara yazmas&#305; m&#252;mk&#252;n de&#287;ilmi?
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
sayın Evren Gizen

yardımların için çok teşekkürler

peki tarihleri süzdükten sonra tarihlere uyan vardiyalar. kumaş,mekik vs toplayarak textbox lara yazması mümkün değilmi?
Dosyayı istediğiniz gibi düzenledim.
Yalnız textboxların toplamı ile alttaki toplam textboxları birbirini tumuyor.Çünkü sayfada ki ayni saat içinde 1den fazla veri girilmiş.Bu her textbox'ın kendi saati içersinde 1 değer ( en son kaydedilen saat'teki değer) alırken en alttaki toplamlar textboxlarda sayfada o tarihte bütün saatlerin toplamını alıyor.:cool:
 
Katılım
14 Ekim 2007
Mesajlar
173
Excel Vers. ve Dili
xp tr
Say&#305;n Evren Gizen
ne kadar te&#351;ekk&#252;r etsem azd&#305;r bu dosyan&#305;n haz&#305;rlanmas&#305;nda benden fazla emek harcad&#305;n&#305;z ne kadar te&#351;ekk&#252;r etsem azd&#305;r size kolayl&#305;klar diliyorum
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Sayın Evren Gizen
ne kadar teşekkür etsem azdır bu dosyanın hazırlanmasında benden fazla emek harcadınız ne kadar teşekkür etsem azdır size kolaylıklar diliyorum
Rica ederim.
Bir katkımız olduysa ne mutlu.
İyi çalışmalar.
Not:Tarih sorgulamasını Dtpicker 3 ve dtpicker4 nesnesi ile yapınız.
Kodlar bu iki nesneye göre çalışıyor.Diğer 2 dtpickeri silebilirsiniz.
Ayriyetten yeni makina sayfası eklerseniz kodları düzenlemek gerekecektir.
Bu durumda ben hata mesajı koydum.Program çökmez ama Hata mesajı ile karşılaşırsınız.Ayriyetten saatlerin vardiyelede şu anki formatta yazılmalı 08-16,16-24,24-08 aralarında mutlaka "-" işareti olmalıdır.:cool:
 
Üst