İki Tarih Arasındaki Farki Saat Olarak Hesaplama

Katılım
5 Mayıs 2005
Mesajlar
60
12.03.2020 13:30 örneğindeki bir tarih&saatin tarih kısmı Textbox1 de, saat kısmı da Textbox2 dedir.
Aynı şekilde 13.03.2020 23:45 örneği olsun bununda Tarihi Textbox3 de, saat kısmı da Textbox4 dedir. Excel hücreleri kullanılmadan Bu iki tarih arasindaki farkin saat olarak (30:45 gibi) Textbox5 'e hesaplamasini yaptırabilir miyiz?
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,377
Excel Vers. ve Dili
2019 Türkçe
Merhaba.

Verdiğiniz örneğe göre aşağıdaki kodu kullanabilirsiniz.
Sonucu yanlış yazmışsınız sonuç=34:15 olmalı.

Kod:
Sub Test()
    Dim Tarih1 As Date
    Dim Tarih2 As Date
    Dim Tarih3 As Date
    Dim Tarih4 As Date
    
    Tarih1 = TextBox1.Text
    Tarih2 = TextBox2.Text
    Tarih3 = TextBox3.Text
    Tarih4 = TextBox4.Text

    TextBox5.Text = Int(((Tarih3 - Tarih1) * 24) + ((Tarih4 - Tarih2) * 24)) & ":" & Minute((Tarih4 - Tarih2))

End Sub
 
Katılım
5 Mayıs 2005
Mesajlar
60
Kod çalışıyor, teşekkür ederim. Fakat tek haneli saatlerin formatını düzenlemek istiyorum.
Örn. 1:1 formatını 01:01
yada 30:1 formatını 30:01 şeklinde... bu nedenle

Textbox5=Format(Textbox5, "HH:MM") kodunu kullandım. Kısmen düzeldi; saat formatı çalışıyor. Toplam saat 24 saati geçtiğinde dakika kısmı (örn. 24:1) şeklinde gösteriyor. 24:01 formatı için nasıl bir kod kullanabiliriz.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,377
Excel Vers. ve Dili
2019 Türkçe
Buyurun.

Kod:
Sub Test()
    Dim Tarih1 As Date
    Dim Tarih2 As Date
    Dim Tarih3 As Date
    Dim Tarih4 As Date
    Dim Dakika As String
    Dim Saat As String
    
    Tarih1 = TextBox1.Text
    Tarih2 = TextBox2.Text
    Tarih3 = TextBox3.Text
    Tarih4 = TextBox4.Text
    
    Dakika = Minute((Tarih4 - Tarih2))
    If Len(Dakika) = 1 Then Dakika = 0 & Dakika
    
    Saat = Int(((Tarih3 - Tarih1) * 24) + ((Tarih4 - Tarih2) * 24))
    If Len(Saat) = 1 Then Saat = 0 & Saat
    
    TextBox5.Text = Saat & ":" & Dakika

End Sub
 
Katılım
5 Mayıs 2005
Mesajlar
60
Üstadım,
Dakika = Minute((Tarih4 - Tarih2))
hata veriyor. Sizede zahmet oluyor, kusura bakmayın.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,377
Excel Vers. ve Dili
2019 Türkçe
Dosyanızı ekleyin kontrol edeyim.
Dosya.tc gibi bir siteye ekleyebilirsiniz.
 
Katılım
5 Mayıs 2005
Mesajlar
60
Dosya kurumsal sistem içerisinde olduğundan almam söz konusu değil malesef. Çok teşekkür ederim yine de.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,377
Excel Vers. ve Dili
2019 Türkçe
Kongtrol edin (Tarih4 - Tarih2 ) işlem sonucu negatif sayı ise hata verir.
Tarih4 Tarih2 den her zaman büyük olması gerekmekte.
 
Üst