Soru Özel Biçimli Hücre Değerini Saate Çevirmek

Katılım
18 Kasım 2012
Mesajlar
423
Excel Vers. ve Dili
Microsoft Office 365
Altın Üyelik Bitiş Tarihi
04-07-2024
Herkese Merhaba,

Ekte paylaşmış olduğum dosyada bir programdan çekmiş olduğum saat verileri mevcut.

Veriler görsel olarak saat biçiminde görünüyor ancak hücre içerisine girdiğinizde değer olarak farklı bir biçimde.

Ne yapsam saat biçimine çeviremiyor ve işlem yapamıyorum.

Bu konuda biri yardımcı olabilirse minnettar olucam.

Syg,
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,370
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,
Paylaştığınız dosya?
 
Katılım
18 Kasım 2012
Mesajlar
423
Excel Vers. ve Dili
Microsoft Office 365
Altın Üyelik Bitiş Tarihi
04-07-2024
Merhaba,
Paylaştığınız dosya?
Merhaba,

Açıkcası eklem sekmesini bir türlü bulamadım.

Medya, alıntı,spoyler vs var ancak dosya eklemeyi bulamadım. Yol gösterir misiniz nerede yanlış yapıyorum.

Syg,
 
Katılım
18 Kasım 2012
Mesajlar
423
Excel Vers. ve Dili
Microsoft Office 365
Altın Üyelik Bitiş Tarihi
04-07-2024
Tekrar Merhaba,

Ektedir.

Syg,
 

Ekli dosyalar

Katılım
18 Kasım 2012
Mesajlar
423
Excel Vers. ve Dili
Microsoft Office 365
Altın Üyelik Bitiş Tarihi
04-07-2024
Yardımcı olabilecek birileri var mıdır ?

Gerçekten çok sıkıştım :(

Syg,
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,235
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

H2;
C++:
=EĞER(UZUNLUK(F2)=2;ZAMAN(0;F2;0);ZAMAN(SOLDAN(F2;1);SAĞDAN(F2;2);0))
I2;
C++:
=EĞER(UZUNLUK(G2)=2;ZAMAN(0;G2;0);ZAMAN(SOLDAN(G2;1);SAĞDAN(G2;2);0))
Bu aşamadan sonra ilgili sütunları ZAMAN olarak biçimlendirip işlem yapabilirsiniz.
 

Ekli dosyalar

Katılım
18 Kasım 2012
Mesajlar
423
Excel Vers. ve Dili
Microsoft Office 365
Altın Üyelik Bitiş Tarihi
04-07-2024
Deneyiniz.

H2;
C++:
=EĞER(UZUNLUK(F2)=2;ZAMAN(0;F2;0);ZAMAN(SOLDAN(F2;1);SAĞDAN(F2;2);0))
I2;
C++:
=EĞER(UZUNLUK(G2)=2;ZAMAN(0;G2;0);ZAMAN(SOLDAN(G2;1);SAĞDAN(G2;2);0))
Bu aşamadan sonra ilgili sütunları ZAMAN olarak biçimlendirip işlem yapabilirsiniz.
Merhaba,

Teşekkür ederim. Bu sütunlarda sorun kalmadı. Ancak aynı formülleri B,C,D ve E sütunlarına uyguladığımda sonuç nedense doğru çıkmıyor.

Syg,
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,370
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,
Alternatif makro ile dönüştürülen değerler I sütunundan itibaren yazdırılır.

Aşağıdaki kodları bir modüle kopyalayıp deneyiniz.

Kod:
Public Sub Saat()

Dim arr As Variant, _
    i   As Long, _
    j   As Integer

arr = Range("A1").CurrentRegion.Value

For i = 2 To UBound(arr, 1)
    For j = 2 To UBound(arr, 2)
        If VarType(arr(i, j)) = vbString Then
            arr(i, j) = TimeSerial(Int(Left(arr(i, j), 2)), Int(Right(arr(i, j), 2)), 0)
        ElseIf VarType(arr(i, j)) = vbDouble Then
            arr(i, j) = TimeSerial(Int(arr(i, j) / 100), Int(arr(i, j) Mod 100), 0)
        End If
    Next j
Next i

Range("I1").Resize(UBound(arr, 1), UBound(arr, 2)) = arr
Columns("J:O").NumberFormat = "hh:mm;@"

End Sub
 
Katılım
18 Kasım 2012
Mesajlar
423
Excel Vers. ve Dili
Microsoft Office 365
Altın Üyelik Bitiş Tarihi
04-07-2024
Merhaba,
Alternatif makro ile dönüştürülen değerler I sütunundan itibaren yazdırılır.

Aşağıdaki kodları bir modüle kopyalayıp deneyiniz.

Kod:
Public Sub Saat()

Dim arr As Variant, _
    i   As Long, _
    j   As Integer

arr = Range("A1").CurrentRegion.Value

For i = 2 To UBound(arr, 1)
    For j = 2 To UBound(arr, 2)
        If VarType(arr(i, j)) = vbString Then
            arr(i, j) = TimeSerial(Int(Left(arr(i, j), 2)), Int(Right(arr(i, j), 2)), 0)
        ElseIf VarType(arr(i, j)) = vbDouble Then
            arr(i, j) = TimeSerial(Int(arr(i, j) / 100), Int(arr(i, j) Mod 100), 0)
        End If
    Next j
Next i

Range("I1").Resize(UBound(arr, 1), UBound(arr, 2)) = arr
Columns("J:O").NumberFormat = "hh:mm;@"

End Sub
Merhaba,

Ne yazık ki bahsetmiş olduğum sütunlarda işe yaramadı.



245415
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,370
Excel Vers. ve Dili
Ofis 365 Türkçe
merhaba ,
ben kodları örnek dosyanızda çalıştırdım ve sonuca ulaştım.
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,235
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
O sütunlar içinde ilgili hücreleri seçin (her sütunu ayrı ayrı seçerek yapmalısınız) sonra VERi-METNİ SÜTUNLARA DÖNÜŞTÜR-SON dediğinizde veriler sayısal olarak dönüşecektir.

#6 nolu mesaj ekindeki dosyayı revizee ettim.
 
Katılım
18 Kasım 2012
Mesajlar
423
Excel Vers. ve Dili
Microsoft Office 365
Altın Üyelik Bitiş Tarihi
04-07-2024
O sütunlar içinde ilgili hücreleri seçin (her sütunu ayrı ayrı seçerek yapmalısınız) sonra VERi-METNİ SÜTUNLARA DÖNÜŞTÜR-SON dediğinizde veriler sayısal olarak dönüşecektir.

#6 nolu mesaj ekindeki dosyayı revizee ettim.
Tekrar Merhaba,

Her yolu denedim ama her seferinde başka bir durum ortaya çıkıyor. Bir saati düzeltsem bu sefer başka birinde toplama yada çıkarma işlemlerinde hatalar meydana geliyor.

Ekte yapıştırma yaptığım ve üzerinde çalışmış olduğum dosyayı (book2) diğer ekte ise verileri kopyalamış olduğum ve bir programdan excel olarak indirilen asıl problemli dosyayı paylaştım.

Ayrıca üzerinde çalışmış olduğum (book2) dosyasının birinci sayfasında geçen özet tabloda bundan dolayı hatalı çıkıyor.

Yardımcı olabilirseniz çok sevinirim. Şimdiden çok teşekkür ederim.

Syg,
 

Ekli dosyalar

Katılım
18 Kasım 2012
Mesajlar
423
Excel Vers. ve Dili
Microsoft Office 365
Altın Üyelik Bitiş Tarihi
04-07-2024
Merhaba,

Yardımcı olabilecek birileri var mıdır ?

Syg,
 
Katılım
18 Kasım 2012
Mesajlar
423
Excel Vers. ve Dili
Microsoft Office 365
Altın Üyelik Bitiş Tarihi
04-07-2024
Merhaba,

Yardımcı olabilecek birileri var mıdır ?

Syg,
Tekrar Merhaba,

Book2 Sheet2 P sütunu için

=MOD(N8-M8;1)

Book2 Sheet2 Q sütunu için

=MOD(M8-L8;1)+MOD(N8-M8;1)+MOD(O8-N8;1)

Şeklinde çözdüm. Ancak benim anlayamadığım İlgili sütunlarda dip toplam almak istediğimde neden

toplam almıyor. Açıklayabilecek biri var mıdır ?

Syg,
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,370
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,
Benim kodları bir de aşağıdaki kodlarla deneyiniz. (Aslında ilk kodlardan farkı yok)
Dosyanın yedeğini aldıktan sonra saate çevireceğiniz verileri seçtikten sonra kodları çalıştırın, aynı verilerin üzerinde işlem yapar. Sonra saat olarak biçimlendirin.

Kod:
Public Sub Saat()

Dim arr As Variant, _
    i   As Long, _
    j   As Integer, _
    rng As Range

arr = Selection.Value
Set rng = Selection(1)

For i = 2 To UBound(arr, 1)
    For j = 2 To UBound(arr, 2)
        If VarType(arr(i, j)) = vbString Then
            arr(i, j) = TimeSerial(Int(Left(arr(i, j), 2)), Int(Right(arr(i, j), 2)), 0)
        ElseIf VarType(arr(i, j)) = vbDouble Then
            arr(i, j) = TimeSerial(Int(arr(i, j) / 100), Int(arr(i, j) Mod 100), 0)
        End If
    Next j
Next i

rng.Resize(UBound(arr, 1), UBound(arr, 2)) = arr

End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,235
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Toplam aldığınız hücreyi aşağıdaki gibi özel biçimledirme yaparsanız sonuç alabilirsiniz.

[ss]:dd
 
Üst