• DİKKAT

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

Soru sayıyı tarihe çevirme makrosu

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,543
Excel Vers. ve Dili
2021 LTSC TR
Belirli hücrelerde toplam gün sayısı mevcut.
1130, 1179, 530 gibi bu sayıları tarihe (Yıl, Ay, Gün olarak) makro ile çevirebilecek koda ihtiyacım var. Rica etsem yardımcı olabilir misiniz?
 
Hangi şartlarda dönüşüm olacak? Örneğin 1130'un karşılığı ne olmalı ve neden öyle olmalı?
 
Yusuf abi
Ay 30, Yıl 360 olarak dönüşüm sağlayacak.

1130 sayısını 3 Yıl 1 Ay 20 Gün olarak hesapladım.
 
Aşağıdaki makro A sütunundaki sayıları istediğiniz şekilde B, C, D ve E sütunlarına yazar. Dönüşümün hangi hücrede ve nasıl olacağını belirtmediğiniz için bu şekilde ayarladım:

PHP:
Sub tarihleme()
For i = 1 To Cells(Rows.Count, "A").End(3).Row
    If IsNumeric(Cells(i, "A")) = True Then
        yil = WorksheetFunction.RoundDown(Cells(i, "A") / 360, 0)
        Cells(i, "B") = yil & " yıl"
        kalan = Cells(i, "A") - (yil * 360)
        If kalan > 0 Then
            ay = WorksheetFunction.RoundDown(kalan / 30, 0)
            Cells(i, "C") = ay & " ay"
            kalan = kalan - (ay * 30)
            If kalan > 0 Then
                gun = kalan
                Cells(i, "D") = gun & " gun"
            End If
        End If
        Cells(i, "E") = yil & " yıl " & ay & " ay " & gun & " gün"
    End If
Next
End Sub
 
İki tarih arası

C3 hücresi : 01/07/1990 - D3 Hücresi : 01/09/1993 = E3 Hücresi : 1140
C4 hücresi : 15.09.1990 - D4 Hücresi : 15/09/1993 = E4 Hücresi : 1079
Gün sayısını Makro ile bulmak için de yardımcı olabilir misiniz?
 
Verdiğiniz örnekte hata olabilir mi? 3. satırda gün farkı 1158, 4. satırda ise 1096. 1140 ve 1079 nasıl bulunuyor?
 
Yusuf abi
01/07/1990
Ay gün sayısından (31) başlama tarihini çık (31-1 = 30)
1990 yılı 8. aydan 1993 yılı 8. aya kadar ay farkını bul (37 ay) ve 30 ile çarp (37 X 30 = 1110)
01/09/1993 tarihinin ise ilk günü bittiği için gün yok. Eğer 01/09/1993 değil de 02/09/1993 olsaydı (02-01 = 1 ) alacaktık
30+1110 = 1140
 
Anlamadım maalesef.
 
Örnek :

14/07/1990 tarihimiz
İlk tarihin (7. ay 31 gün çekiyor) çektiği gün sayısından tarihteki ayın gün sayısı çıkarılacak
a) 31-14 = 17

14/07/1990 ile 02/09/1993 arasında ay farkı 37 ve bu ay farkı 30 ile çarpılacak
b) 37 x 30 = 1110

Son tarih olan (02/09/1993) de de 1 gün çalışmış 2. gün ayrılmış.
c) 1

= a + b + c
17+1110+1
Sonuç = 1128
Son tarih gün sayısı ayrılış kabul edilecek o güne kadar çalışılan günlerin toplamı alınacak

Eğer tam olarak anlatamadım ise canınız sağ olsun ne yapalım
 
Geri
Üst