- Katılım
- 1 Haziran 2005
- Mesajlar
- 105
- Excel Vers. ve Dili
- Excel 2003-Türkçe
Merhabalar,
Aşağıdaki kodu değerli bir arkadaşım yapmıştı ama bir eksik var.
Bu kodda belirlenen iki tarih arasındaki farkları sayfadan bulup listeliyor.
Fakat çıkış tarihi olmadığı zaman doğla olarak listeleme yapmıyor.
Eğer çıkış tarihi olmazsa benim belirlediğim bir çıkış tarihine göre hesaplama yapmasını istiyorum.eğer mümkünse
YARDIMCI OLAN ARKADAÃLAR ÃİMDİDEN TEÃEKKÜRLER...
If OptionButton3.Value = True Then 'BELİRLENEN TARİHLER ARASINDAKİ ÇALIÃANLAR VE SÜRELERİ
'Belirlenen tarihler arasında sayfayı analiz edebilmek için 4 farklı kombinasyona göre aşağıdaki kodlar çalıştırılıyor.
'Burada kilit kod *DateDiff* kodu. Bu kod iki tarih arasındaki farkı buluyor. Kullanımı: DateDiff("Parametre", "Küçük Tarih", "Büyük Tarih") Parametreyi "d", "m" "yyyy" gün ay yıl şeklinde vermek mümkün. Ayrıca bu kodun başka parametreleride mevcut.
'Ã?NEMLİ : Aşağıdaki kombinasyonlardan hiçbiri ÇIKIÃ ve GİRİÃ tarihleri arasındaki farkı dikkate almıyor. Sadece çalışılan süre UserForm'da belirlenen tarihler doğrultusunda hesaplanıyor.
For x = 3 To WorksheetFunction.CountA(Rows("1:1"))
If ActiveCell.Column > WorksheetFunction.CountA(Rows("1:1")) Then GoTo xdongusu
If Cells(1, ActiveCell.Column) <> "GİRİÃ" Then ActiveCell.Offset(0, 1).Select
If ActiveCell.Offset(0, 1) <> "" And IsDate(ActiveCell.Offset(0, 1)) = True Then
If DateValue(Format(giriş1, "dd/mm/yyyy")) <= DateValue(Format(ActiveCell, "dd/mm/yyyy")) And _
DateValue(Format(çıkış1, "dd/mm/yyyy")) >= DateValue(Format(ActiveCell.Offset(0, 1), "dd/mm/yyyy")) Then
MyArray(sayac, 2) = MyArray(sayac, 2) + DateDiff("d", ActiveCell, ActiveCell.Offset(0, 1))
GoTo xdongusu
End If
If DateValue(Format(giriş1, "dd/mm/yyyy")) >= DateValue(Format(ActiveCell, "dd/mm/yyyy")) And _
DateValue(Format(çıkış1, "dd/mm/yyyy")) <= DateValue(Format(ActiveCell.Offset(0, 1), "dd/mm/yyyy")) Then
MyArray(sayac, 2) = MyArray(sayac, 2) + DateDiff("d", giriş1, çıkış1)
GoTo xdongusu
End If
If DateValue(Format(giriş1, "dd/mm/yyyy")) <= DateValue(Format(ActiveCell, "dd/mm/yyyy")) And _
DateValue(Format(çıkış1, "dd/mm/yyyy")) <= DateValue(Format(ActiveCell.Offset(0, 1), "dd/mm/yyyy")) And _
DateValue(Format(çıkış1, "dd/mm/yyyy")) >= DateValue(Format(ActiveCell, "dd/mm/yyyy")) Then
MyArray(sayac, 2) = MyArray(sayac, 2) + DateDiff("d", ActiveCell, çıkış1)
GoTo xdongusu
End If
If DateValue(Format(giriş1, "dd/mm/yyyy")) >= DateValue(Format(ActiveCell, "dd/mm/yyyy")) And _
DateValue(Format(çıkış1, "dd/mm/yyyy")) >= DateValue(Format(ActiveCell.Offset(0, 1), "dd/mm/yyyy")) And _
DateValue(Format(giriş1, "dd/mm/yyyy")) <= DateValue(Format(ActiveCell.Offset(0, 1), "dd/mm/yyyy")) Then
MyArray(sayac, 2) = MyArray(sayac, 2) + DateDiff("d", giriş1, ActiveCell.Offset(0, 1))
GoTo xdongusu
End If
End If
Aşağıdaki kodu değerli bir arkadaşım yapmıştı ama bir eksik var.
Bu kodda belirlenen iki tarih arasındaki farkları sayfadan bulup listeliyor.
Fakat çıkış tarihi olmadığı zaman doğla olarak listeleme yapmıyor.
Eğer çıkış tarihi olmazsa benim belirlediğim bir çıkış tarihine göre hesaplama yapmasını istiyorum.eğer mümkünse
YARDIMCI OLAN ARKADAÃLAR ÃİMDİDEN TEÃEKKÜRLER...
If OptionButton3.Value = True Then 'BELİRLENEN TARİHLER ARASINDAKİ ÇALIÃANLAR VE SÜRELERİ
'Belirlenen tarihler arasında sayfayı analiz edebilmek için 4 farklı kombinasyona göre aşağıdaki kodlar çalıştırılıyor.
'Burada kilit kod *DateDiff* kodu. Bu kod iki tarih arasındaki farkı buluyor. Kullanımı: DateDiff("Parametre", "Küçük Tarih", "Büyük Tarih") Parametreyi "d", "m" "yyyy" gün ay yıl şeklinde vermek mümkün. Ayrıca bu kodun başka parametreleride mevcut.
'Ã?NEMLİ : Aşağıdaki kombinasyonlardan hiçbiri ÇIKIÃ ve GİRİÃ tarihleri arasındaki farkı dikkate almıyor. Sadece çalışılan süre UserForm'da belirlenen tarihler doğrultusunda hesaplanıyor.
For x = 3 To WorksheetFunction.CountA(Rows("1:1"))
If ActiveCell.Column > WorksheetFunction.CountA(Rows("1:1")) Then GoTo xdongusu
If Cells(1, ActiveCell.Column) <> "GİRİÃ" Then ActiveCell.Offset(0, 1).Select
If ActiveCell.Offset(0, 1) <> "" And IsDate(ActiveCell.Offset(0, 1)) = True Then
If DateValue(Format(giriş1, "dd/mm/yyyy")) <= DateValue(Format(ActiveCell, "dd/mm/yyyy")) And _
DateValue(Format(çıkış1, "dd/mm/yyyy")) >= DateValue(Format(ActiveCell.Offset(0, 1), "dd/mm/yyyy")) Then
MyArray(sayac, 2) = MyArray(sayac, 2) + DateDiff("d", ActiveCell, ActiveCell.Offset(0, 1))
GoTo xdongusu
End If
If DateValue(Format(giriş1, "dd/mm/yyyy")) >= DateValue(Format(ActiveCell, "dd/mm/yyyy")) And _
DateValue(Format(çıkış1, "dd/mm/yyyy")) <= DateValue(Format(ActiveCell.Offset(0, 1), "dd/mm/yyyy")) Then
MyArray(sayac, 2) = MyArray(sayac, 2) + DateDiff("d", giriş1, çıkış1)
GoTo xdongusu
End If
If DateValue(Format(giriş1, "dd/mm/yyyy")) <= DateValue(Format(ActiveCell, "dd/mm/yyyy")) And _
DateValue(Format(çıkış1, "dd/mm/yyyy")) <= DateValue(Format(ActiveCell.Offset(0, 1), "dd/mm/yyyy")) And _
DateValue(Format(çıkış1, "dd/mm/yyyy")) >= DateValue(Format(ActiveCell, "dd/mm/yyyy")) Then
MyArray(sayac, 2) = MyArray(sayac, 2) + DateDiff("d", ActiveCell, çıkış1)
GoTo xdongusu
End If
If DateValue(Format(giriş1, "dd/mm/yyyy")) >= DateValue(Format(ActiveCell, "dd/mm/yyyy")) And _
DateValue(Format(çıkış1, "dd/mm/yyyy")) >= DateValue(Format(ActiveCell.Offset(0, 1), "dd/mm/yyyy")) And _
DateValue(Format(giriş1, "dd/mm/yyyy")) <= DateValue(Format(ActiveCell.Offset(0, 1), "dd/mm/yyyy")) Then
MyArray(sayac, 2) = MyArray(sayac, 2) + DateDiff("d", giriş1, ActiveCell.Offset(0, 1))
GoTo xdongusu
End If
End If