İki Tarih Arasında Geçen Zamanı Hesaplama

Katılım
15 Haziran 2021
Mesajlar
147
Excel Vers. ve Dili
Office 2016
Merhaba

Excelde makro ile iki tarih arasındaki farkı hesaplatıp başka bir hücreye yazdırdım.

Fark hücresine yazdığım değer çıkıyor.
Bu değeri "ss:dd:ss" formatında yazdıramıyorum. Hücre biçimlendirmenden yapamadım.
İki tarih arasında geçen zamanı yazdırmak istiyorum. "00:18:56 Dakika" gibi. Nasıl yapacağım.

Başlangıç

Bitiş

Fark

1.04.2023 20:51:14

1.04.2023 21:10:26

0,31999999989057



Kullandığım makro şu.

Kod:
Sub saatisle1()
Dim c   As Range
    Dim s1  As Worksheet, s2 As Worksheet
    Dim yol As String, ad As String, aranan As String
    yol = ThisWorkbook.Path & "\"
    ad = "tozetiketbas.xlsm"
    Set s1 = Sheets("rapor")
    Workbooks.Open (yol + ad)
    dolu = s1.Range("B" & Rows.Count).End(xlUp).Row
    For a = 3 To dolu
    aranan = s1.Range("B" & a)
    Set c = Workbooks(ad).Worksheets("rapor").Range("F:F").Find(aranan, LookIn:=xlValues, LookAt:=xlWhole)
    If Not c Is Nothing Then
        s1.Range("AG" & a) = Workbooks(ad).Worksheets("rapor").Range("B" & c.Row)
        s1.Cells(a, "AH").Value = (Workbooks(ad).Worksheets("rapor").Cells(c.Row, "B").Value - s1.Cells(a, "A").Value) * 24
    Else
        s1.Range("AG" & a) = "Cikis Bulunamadi!"
    End If
    dolu = dolu + 1
    Next a
    Windows("reçetebarkod.xlsm").Activate
End Sub
Yardımcı olabilecek kimse var mı?
 

RBozkurt

𐱅𐰇𐰼𐰚
Altın Üye
Katılım
10 Ocak 2018
Mesajlar
686
Excel Vers. ve Dili
Microsoft Office 2024
Google Sheets
Altın Üyelik Bitiş Tarihi
19-12-2026
s1.Cells(a, "AH").Value = (Workbooks(ad).Worksheets("rapor").Cells(c.Row, "B").Value - s1.Cells(a, "A").Value) * 24
Satırını
s1.Cells(a, "AH").Value = Format((Workbooks(ad).Worksheets("rapor").Cells(c.Row, "B").Value - s1.Cells(a, "A").Value) * 24, "hh:mm:ss") değiştirin.
 
Katılım
15 Haziran 2021
Mesajlar
147
Excel Vers. ve Dili
Office 2016
s1.Cells(a, "AH").Value = (Workbooks(ad).Worksheets("rapor").Cells(c.Row, "B").Value - s1.Cells(a, "A").Value) * 24
Satırını
s1.Cells(a, "AH").Value = Format((Workbooks(ad).Worksheets("rapor").Cells(c.Row, "B").Value - s1.Cells(a, "A").Value) * 24, "hh:mm:ss") değiştirin.
Değişikliği yaptım sonuç bu :

Giriş

Çıkış

Fark

1.04.2023 20:51:14

1.04.2023 21:10:26

07:40:48



doğru hesaplayamadı.

Acaba nerede hata yaptım?
 

RBozkurt

𐱅𐰇𐰼𐰚
Altın Üye
Katılım
10 Ocak 2018
Mesajlar
686
Excel Vers. ve Dili
Microsoft Office 2024
Google Sheets
Altın Üyelik Bitiş Tarihi
19-12-2026
Hesabı bilemem sadece kodunuzdaki değere saat formatı eklendi.
 
Katılım
15 Haziran 2021
Mesajlar
147
Excel Vers. ve Dili
Office 2016
Hesabı bilemem sadece kodunuzdaki değere saat formatı eklendi.
Şöyle bir düzenleme yaptım fakat ;

Kod:
Sub saatisle1()
Dim c   As Range
    Dim s1  As Worksheet, s2 As Worksheet
    Dim yol As String, ad As String, aranan As String
    Dim fark As Date
    yol = ThisWorkbook.Path & "\"
    ad = "tozetiketbas.xlsm"
    Set s1 = Sheets("rapor")
    Workbooks.Open (yol + ad)
    dolu = s1.Range("B" & Rows.Count).End(xlUp).Row
    For a = 3 To dolu
    aranan = s1.Range("B" & a)
    Set c = Workbooks(ad).Worksheets("rapor").Range("F:F").Find(aranan, LookIn:=xlValues, LookAt:=xlWhole)
    If Not c Is Nothing Then
        giris = Format((s1.Cells(a, "A").Value) * 24, "hh:mm:ss")
        cikis = Format((Workbooks(ad).Worksheets("rapor").Cells(c.Row, "B").Value) * 24, "hh:mm:ss")
        fark = cikis - giris
        s1.Cells(a, "AG") = fark
    Else
        s1.Range("AG" & a) = "Cikis Bulunamadi!"
    End If
    dolu = dolu + 1
    Next a
    Windows("reçetebarkod.xlsm").Activate
End Sub
Şu satırda hata alıyorum :

fark = cikis - giris

Yardımcı olabilecek kimse var mı?
 

RBozkurt

𐱅𐰇𐰼𐰚
Altın Üye
Katılım
10 Ocak 2018
Mesajlar
686
Excel Vers. ve Dili
Microsoft Office 2024
Google Sheets
Altın Üyelik Bitiş Tarihi
19-12-2026
Kod:
    Dim c As Range
    Dim s1 As Worksheet, s2 As Worksheet
    Dim yol As String, ad As String, aranan As String
    Dim fark As Double
    Dim giris As Date
    Dim cikis As Date
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,276
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
*24 yapmadan deneyiniz.
 
Üst