Soru sayıyı tarihe çevirme makrosu

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,539
Excel Vers. ve Dili
2021 LTSC TR
Altın Üyelik Bitiş Tarihi
18-06-2026
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?
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,067
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Hangi şartlarda dönüşüm olacak? Örneğin 1130'un karşılığı ne olmalı ve neden öyle olmalı?
 

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,539
Excel Vers. ve Dili
2021 LTSC TR
Altın Üyelik Bitiş Tarihi
18-06-2026
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.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,067
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
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
 

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,539
Excel Vers. ve Dili
2021 LTSC TR
Altın Üyelik Bitiş Tarihi
18-06-2026
Yusuf abi
Ellerine sağlık. Teşekkür ederim.
Sağ ol. Var ol
 

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,539
Excel Vers. ve Dili
2021 LTSC TR
Altın Üyelik Bitiş Tarihi
18-06-2026
İ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?
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,067
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Verdiğiniz örnekte hata olabilir mi? 3. satırda gün farkı 1158, 4. satırda ise 1096. 1140 ve 1079 nasıl bulunuyor?
 

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,539
Excel Vers. ve Dili
2021 LTSC TR
Altın Üyelik Bitiş Tarihi
18-06-2026
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
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,067
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Anlamadım maalesef.
 

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,539
Excel Vers. ve Dili
2021 LTSC TR
Altın Üyelik Bitiş Tarihi
18-06-2026
Ö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
 
Üst