15-03-2017, 10:42
dsezgin83260 HOCAM toplama işlemini hallettim fakat farktopla kısmında 15 yıl 6 ay 85 gün gibi yazıyor yani gün sayısı 30 u aşınca aya artı 1 ay ilave etmiyor normal mi bu normal ise sebebi nedir onu anlayamadım.
|
İki Tarih Farkını "YIL-AY-GÜN" Veren Fonksiyon (DateDiff_ze_bb)
|
|
15-03-2017, 10:42
dsezgin83260 HOCAM toplama işlemini hallettim fakat farktopla kısmında 15 yıl 6 ay 85 gün gibi yazıyor yani gün sayısı 30 u aşınca aya artı 1 ay ilave etmiyor normal mi bu normal ise sebebi nedir onu anlayamadım.
15-03-2017, 13:47
(15-03-2017, 10:42)halilibo05 demiş ki: farktopla kısmında 15 yıl 6 ay 85 gün gibi yazıyor yani gün sayısı 30 u aşınca aya artı 1 ay ilave etmiyor normal mi bu normal ise sebebi nedir onu anlayamadım.Function farktopla(a As Variant, b As Variant, c As Variant, d As Variant, e As Variant, f As Variant) As Variant ... ... gun = LTrim(Str(osma)) If gun > 30 Then gun = gun Mod 30: ay = ay + 1 If ay > 12 Then ay = ay Mod 12: yil = yil + 1 farktopla = yil & " Yil " & ay & " Ay " & gun & " Gün" End Function Prosedurune koyu olan yeri ekleyin.
17-03-2017, 11:12
(En son düzenleme: 17-03-2017, 11:13 halilibo05.)
Arkadaşlar bir sorum olacak şimdi taruz hocamın yaptığı farktoplamını verme bölümünü biraz çoğalttım 6 farklı tarihin arasındaki farkı alıp toplamını Yıl Ay Gün şeklinde veriyor. Taruz ve dsezgin83260 hocam sağolsunlar şimdi son bir şey kaldı bu fonksiyon üzerinden aynı işlemi sadece gün sayısını aldırabilir miyim bunun için aşağıdaki fonksiyon kodlarını nasıl düzenlemem gerekecek yardımlarınızı bekliyorum.
Function farktopla(a As Variant, b As Variant, c As Variant, d As Variant, e As Variant, f As Variant, g As Variant, h As Variant, ı As Variant, i As Variant, j As Variant, k As Variant) As Variant Dim trza As Integer Dim osma As Integer Dim ay As String Dim gun As String Dim yil As String trza = (DateDiff("m", a, b) + (Day(b) < Day(a))) + (DateDiff("m", c, d) + (Day(d) < Day©)) + (DateDiff("m", e, f) + (Day(f) < Day(e))) + (DateDiff("m", g, h) + (Day(h) < Day(g))) + (DateDiff("m", ı, i) + (Day(i) < Day(ı))) + (DateDiff("m", j, k) + (Day(k) < Day(j))) If Day(b) < Day(a) Or Day(d) < Day© Or Day(f) < Day(e) Or Day(h) < Day(g) Or Day(i) < Day(ı) Or Day(k) < Day(j) Then osma = ((DateDiff("d", a, DateSerial(Year(a), Month(a) + 1, 0)) + (DateDiff("d", c, DateSerial(Year©, Month© + 1, 0)) + (DateDiff("d", e, DateSerial(Year(e), Month(e) + 1, 0)) + (DateDiff("d", g, DateSerial(Year(g), Month(g) + 1, 0)) + (DateDiff("d", ı, DateSerial(Year(ı), Month(ı) + 1, 0)) + (DateDiff("d", j, DateSerial(Year(j), Month(j) + 1, 0))) + (Day(b)) + Day(d)) + Day(f)) + Day(h)) + Day(i)) + Day(k))) Else osma = ((Day(b) + Day(d) + Day(f) + Day(h) + Day(i) + Day(k)) - (Day(a) + Day© + Day(e) + Day(g) + Day(ı) + Day(j))) End If yil = LTrim(Str(trza \ 12)) ay = LTrim(Str(trza Mod 12)) gun = LTrim(Str(osma)) If gun > 30 Then gun = gun Mod 30: ay = ay + 1 If ay > 12 Then ay = ay Mod 12: yil = yil + 1 If gun >= 30 Then End If farktopla = yil & " Yıl " & ay & " Ay " & gun & " Gün" End Function
18-03-2017, 05:11
Metin kutusu denetim kaynagina
=DateDiff("d";[tarih1];[tarih2])+DateDiff("d";[tarih3];[tarih4])+DateDiff("d";[tarih5];[tarih6]) deyimi ile yapabilirsiniz. DateDiff("GunFormati";KucukTarih;BuyukTarih) d--> Gun m--> Ay yyyy--->Yil gibi dusunebilirsiniz. |
| Benzer Konular... | |||||
| Konu: | Yazar | Cevaplar: | Gösterim: | Son Mesaj | |
|
|
64 Bit Versiyonlardaki Deklarasyon Kaynaklı Fonksiyon Hataları | Taruz | 16 | 15.875 |
10-01-2019, 19:35 Son Mesaj: dsezgin |
|
|
YazME: MsgBox inputBox için satır atlama ve girintileme (Parametreli fonksiyon) | Mehmet Eser | 6 | 7.770 |
01-05-2012, 13:00 Son Mesaj: aydın3838 |
| Sabit boşluklu txt yapmak için sifir ve boşluk ekleyen fonksiyon | metinse | 28 | 15.534 |
21-02-2010, 19:01 Son Mesaj: linux2ex |
|