özel bir saat ve dakika toplamı.

Katılım
17 Ağustos 2006
Mesajlar
131
Excel Vers. ve Dili
2003 türkçe
arkadaşlar merhaba,
ekte bir tablom var. e, f, g sütunlarında, saatler ve dakikalar yazılı(örnek aşağıda), bunların toplamlarını her sütunun başına yazdırmak istiyorum.(tek tek düzeltme, yapmadan tabi makro ile). Buna benzer bir sorum yine olmuştu .. o sorumda tek sütun üzerinde işlem yapılmıştı. ama iş 3 sütuna çıkınca işin içinden çıkamadım ..yardımlarınızı bekler şimdiden teşekkürlerimi sunarım.
(ekte iki dosya gönderiyorum.. 1. dosya daha önce sorusunu sorduğum ve cevabını aldığım bir dosya .. diğeride yeni soruma ait)


1 saat* 10 dakika/ 7 saat /* 3 saat* 58 dakika
1 saat* 30 dakika/ 6 saat 33 dakika/ 3 saat* 26 dakika
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,731
Excel Vers. ve Dili
Excel 2019 Türkçe
Eski kodu biraz değiştirdim.

Kod:
Sub TOPLAM_İHLAL_SÜRESİ()
    
    For Y = 5 To 7
    Cells(2, Y) = ""
    For X = 4 To [A65536].End(3).Row
    If Cells(X, Y) Like "*" & "saat" & "*" And Cells(X, Y) Like "*" & "dakika" & "*" Then
    Bul = WorksheetFunction.Search("t", Cells(X, Y), 1) + 3
    Saat1 = Saat1 + Trim(Mid(Cells(X, Y), 1, 2)) * 1
    Dakika1 = Dakika1 + Trim(Mid(Cells(X, Y), Bul, 2)) * 1
    ElseIf Cells(X, Y) Like "*" & "saat" & "*" Then
    Saat2 = Saat2 + Trim(Mid(Cells(X, Y), 1, 2)) * 1
    ElseIf Cells(X, Y) Like "*" & "dakika" & "*" Then
    Dakika2 = Dakika2 + Trim(Mid(Cells(X, Y), 1, 2)) * 1
    End If
    Next
    TDakika1 = Dakika1 + Dakika2
    TDakika2 = Round((((TDakika1 / 60) - Int(TDakika1 / 60)) * 1) * 60)
    TSaat = Saat1 + Saat2 + Int(TDakika1 / 60)
    Sonuç = TSaat & "  saat  " & TDakika2 & "  dakika"
    Cells(2, Y) = Sonuç
    Next
End Sub
 
Katılım
17 Ağustos 2006
Mesajlar
131
Excel Vers. ve Dili
2003 türkçe
yanlış sonuç verdi.

toplam sonuçlar, yanlış çıkıyor ..
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,731
Excel Vers. ve Dili
Excel 2019 Türkçe
Yeni dosyadaki bilgileri, eski dosyaya ekledim. Daha sonra kodu çalıştırdım. Yine aynı sonucu verdi. Kod üzerinde yaptığım işlem, sadece sütunları döngü yardımıyla arttırmakdı.

Siz bir daha kontrol edin. Eğer hala yanlış diyorsanız, kodu baştan tekrar inceleriz.
 
Katılım
17 Ağustos 2006
Mesajlar
131
Excel Vers. ve Dili
2003 türkçe
makro da sorun var..

hamit bey kontrol ettim ama sonuç yanlış, fazla topluyor..Birdaha bakarsanız memnun olurum.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,731
Excel Vers. ve Dili
Excel 2019 Türkçe
Koda, birkaç eklenti yaptım, şimdi doğru çalışıyor. Ayrıca manuel topladım yine sonucu doğru verdi.

Kod:
Sub TOPLAM_İHLAL_SÜRESİ()
    
    For y = 5 To 7
    Saat1 = 0
    Saat2 = 0
    Dakika1 = 0
    Dakika2 = 0
    
    For x = 4 To [a65536].End(3).Row
    If Cells(x, y) Like "*" & "saat" & "*" And Cells(x, y) Like "*" & "dakika" & "*" Then
    
    Bul = WorksheetFunction.Search("t", Cells(x, y), 1) + 3
    Saat1 = Saat1 + Trim(Mid(Cells(x, y), 1, 2)) * 1
    Dakika1 = Dakika1 + Trim(Mid(Cells(x, y), Bul, 2)) * 1
    
    ElseIf Cells(x, y) Like "*" & "saat" & "*" Then
    
    Saat2 = Saat2 + Trim(Mid(Cells(x, y), 1, 2)) * 1
    
    ElseIf Cells(x, y) Like "*" & "dakika" & "*" Then
    
    Dakika2 = Dakika2 + Trim(Mid(Cells(x, y), 1, 2)) * 1
      
    End If
    Next
    
    TDakika1 = Dakika1 + Dakika2
    TDakika2 = Round((((TDakika1 / 60) - Int(TDakika1 / 60)) * 1) * 60)
    TSaat = Saat1 + Saat2 + Int(TDakika1 / 60)
    Sonuç = TSaat & "  saat  " & TDakika2 & "  dakika"
    Cells(2, y) = Sonuç
    
    Next
End Sub
 
Katılım
17 Ağustos 2006
Mesajlar
131
Excel Vers. ve Dili
2003 türkçe
çok teşekkür ederim..

çok teşekkür ederim..
 
Üst