Saati yazarken araya iki nokta koymadan tamamlattırabilir miyiz?

yyhy

Altın Üye
Katılım
3 Aralık 2005
Mesajlar
924
Excel Vers. ve Dili
Microsoft Office 2021 TR
Microsoft 365 TR
Altın Üyelik Bitiş Tarihi
20-03-2029
Saati yazarken araya iki nokta koymadan tamamlattırabilir miyiz? Yani 13:30 yazarken sadece 1330 yazınca acaba iki noktayı ( : ) kendi tamamlayabilir mi?
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,734
Excel Vers. ve Dili
Excel 2019 Türkçe
Sayfa1'in kod kısmına ekleyin.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Target = Format(TimeSerial(Left(Target.Text, 2), Right(Target.Text, 2), 0), "hh:mm")
End Sub
 

yyhy

Altın Üye
Katılım
3 Aralık 2005
Mesajlar
924
Excel Vers. ve Dili
Microsoft Office 2021 TR
Microsoft 365 TR
Altın Üyelik Bitiş Tarihi
20-03-2029
Sayın Hamit CAN sadece istediğimiz sütuna koyma imkanı olur mu?

Sayın Hamitcan sadece istediğimiz sütuna koyma imkanı olur mu? Saat sütunu haricinde macronun çalışmasını istemiyorum.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Eğer saat olarak hesaplamalarda kullanmayacaksanız biçimlendirme ile yapabilirsiniz. Bu şekilde görünmesini istediğiniz hücreleri/sütunu seçerek hücreleri biçimlendirden özel sayı biçimini ve biçim olarak da 00":"00 ayarlarsanız 135 yazdığınızda 01:35; 1250 yazdığınızda 12:50 olarak görünür.

Tabi dediğim gibi bu sadece görünümü değiştirir, hesaplamalarda yazdığınız haliyle kullanılır. Örneğin 135'i excel 135 olarak yorumlar saat olarak görmez. Kısacası kağıt üstünde saat gibi görünür.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,734
Excel Vers. ve Dili
Excel 2019 Türkçe
Sayın Hamitcan sadece istediğimiz sütuna koyma imkanı olur mu? Saat sütunu haricinde macronun çalışmasını istemiyorum.
Olabilir. Kodu, aşağıdaki gibi değiştirmeniz yeterli olacaktır.
Kod:
 Private Sub Worksheet_Change(ByVal Target As Range)
    sutun = "g"
    cells(Target.row,sutun) = Format(TimeSerial(Left(Target.Text, 2), Right(Target.Text, 2), 0), "hh:mm")
End Sub
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,438
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Alternatif olsun.

1. satırın başlık ve A sütununda veri girileceği varsayılmıştır.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
 
    If Intersect(Target, [A:A]) Is Nothing Or Target.Row < 2 Then Exit Sub
 
    Application.EnableEvents = False
 
    Target = TimeSerial(Int(Target.Value / 100), Target.Value Mod 100, 0)
 
    Application.EnableEvents = True
 
End Sub
Not : 75 te yazsanız 01:15 olarak çevirir.
 

asuzen

Altın Üye
Katılım
29 Eylül 2005
Mesajlar
137
Excel Vers. ve Dili
Office 2003 Türkçe-----
Office 2019 Türkçe-----
Altın Üyelik Bitiş Tarihi
22-06-2029
Teşekkürler...
 

yyhy

Altın Üye
Katılım
3 Aralık 2005
Mesajlar
924
Excel Vers. ve Dili
Microsoft Office 2021 TR
Microsoft 365 TR
Altın Üyelik Bitiş Tarihi
20-03-2029
İlgilenen arkadaşlara teşekkürler.

Sayın hamitcan ve Necdet Yeşertener ellerinize sağlık ihtiyaca cevap verdi.
 
Katılım
25 Eylül 2012
Mesajlar
24
Excel Vers. ve Dili
2007 türkçe
Eğer saat olarak hesaplamalarda kullanmayacaksanız biçimlendirme ile yapabilirsiniz. Bu şekilde görünmesini istediğiniz hücreleri/sütunu seçerek hücreleri biçimlendirden özel sayı biçimini ve biçim olarak da 00":"00 ayarlarsanız 135 yazdığınızda 01:35; 1250 yazdığınızda 12:50 olarak görünür.

Tabi dediğim gibi bu sadece görünümü değiştirir, hesaplamalarda yazdığınız haliyle kullanılır. Örneğin 135'i excel 135 olarak yorumlar saat olarak görmez. Kısacası kağıt üstünde saat gibi görünür.
Yusuf bey bu özel sayı biçimi 2007 sürümünde varmı ben göremedim.yardımcı olursanız sevinirim.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Tüm sürümlerde var. Kendiniz ayarlayabilirsiniz.

Öncelikle hücreleri biçimlendiri açın.

Sayı sekmesindeyken sol taraftan İsteğe Uyarlanmış'ı seçin

Sağ tarafta Tür kısmına ise 00":"00 yazarsanız o hücreye yazdığınız her sayı arasına iki nokta konularak görünecektir.
 
Katılım
25 Eylül 2012
Mesajlar
24
Excel Vers. ve Dili
2007 türkçe
Tüm sürümlerde var. Kendiniz ayarlayabilirsiniz.

Öncelikle hücreleri biçimlendiri açın.

Sayı sekmesindeyken sol taraftan İsteğe Uyarlanmış'ı seçin

Sağ tarafta Tür kısmına ise 00":"00 yazarsanız o hücreye yazdığınız her sayı arasına iki nokta konularak görünecektir.
çok çok teşekkür ederim ben özelden yapmaya çalışıyormuşum ondan olmadı.:D
peki bunda mantık nedir acaba yani saati 12:00:00 olarak yazdırmak istiyorsak ne yapmalıyız acaba yada 17.07.1975 gibi bir tarih için ne yapmalıyız eğer yardım ederseniz çok işime yarayacak şimdiden teşekkürler
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Bunda önemli olan nokta şudur: siz bu sayıların sadece görünürde mi tarih ve saat gibi görünmesini istiyorsunuz yoksa excelin bunları tarih ve saat olarak belirleyip hesaplamalarda da tarih ve saat olarak mı kullanmasını istiyorsunuz.

eğer sadece görünürde tarih ve sayı gibi görünmesini istiyorsanız o isteğe uyarlanmış kısmına nasıl yazarsanız biçim öyle görünür. Örneğin 00"/"00"/"0000 yazarsanız 17071975 yazdığınızda ekranda ve kağıt üstünde 17/07/1975 görünür ama aslında orda sayı olarak on yedi milyon yetmiş bir bin dokuz yüz yetmiş beş yazıyordur ve excel de hesaplamalarda bu sayı halini kullanır. Örneğin bu kişinin yaşını bulmak istediğinizde excel hesaplayamaz ya da o günün hangi güne denk geldiğini excel bulamaz.

Eğer gerçekten tarih ve saat gibi algılanmasını ve öyle görünmesini istiyorsanız kesinlikle bu yöntemi önermem.

Tarih biçimi için en basit yöntem hücreyi o sayı biçimlerinden tarih olarak biçimlendirdikten sonra hücreye girerken 17/05/1975 için 17/5/75 yazmak yeterlidir. Bu şekilde yazdığınızda excel onu 17/05/1975 olarak düzeltecek ve kullanacaktır.
 

yyhy

Altın Üye
Katılım
3 Aralık 2005
Mesajlar
924
Excel Vers. ve Dili
Microsoft Office 2021 TR
Microsoft 365 TR
Altın Üyelik Bitiş Tarihi
20-03-2029
Tüm arkadaşlara teşekkürler.

Arkadaşlar bir sorun var. 00":"00 format olarak yazdığımızda örneğin 1500'şeklinde yazıyorum 15:00 olarak gözüküyor. Saat Formatına formülle nasıl dönüştürebiliriz.
 

Ekli dosyalar

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,438
Excel Vers. ve Dili
Ofis 365 Türkçe
Arkadaşlar bir sorun var. 00":"00 format olarak yazdığımızda örneğin 1500'şeklinde yazıyorum 15:00 olarak gözüküyor. Saat Formatına formülle nasıl dönüştürebiliriz.
Dalga mı geçiyorsunuz?

6 nolu mesajdaki kodları boşuna mı verdik?
 

yyhy

Altın Üye
Katılım
3 Aralık 2005
Mesajlar
924
Excel Vers. ve Dili
Microsoft Office 2021 TR
Microsoft 365 TR
Altın Üyelik Bitiş Tarihi
20-03-2029
Sayın Necdet Yeşertener benim açıklığa kavuşturmak istediğim ve aklıma takılan konu sayın YUSUF44'ün vermiş olduğu değişik alternatif çözümle yola çıkıldığında acaba o sütundaki bilgiyi alarak nasıl saat formatına dönürebiliriz diye düşündüm. Sizin eklemiş olduğunuz kod güzel çalışıyor buna diyebileceğimiz herhangi bir şey diyemeyiz. Yardımlarınız için de ayrıca teşekkürler.
 

asuzen

Altın Üye
Katılım
29 Eylül 2005
Mesajlar
137
Excel Vers. ve Dili
Office 2003 Türkçe-----
Office 2019 Türkçe-----
Altın Üyelik Bitiş Tarihi
22-06-2029
Merhaba,

Alternatif olsun.

1. satırın başlık ve A sütununda veri girileceği varsayılmıştır.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
 
    If Intersect(Target, [A:A]) Is Nothing Or Target.Row < 2 Then Exit Sub
 
    Application.EnableEvents = False
 
    Target = TimeSerial(Int(Target.Value / 100), Target.Value Mod 100, 0)
 
    Application.EnableEvents = True
 
End Sub
Not : 75 te yazsanız 01:15 olarak çevirir.
Peki hocam ben bir şey sorayım. Aynı olayı aynı şekilde tarih için de yapmak istesek (Yani veriyi tarih olarak görecek sayı olarak değil) verdiğiniz kodda nasıl bir değişiklik ya da ek yapmamız gerekir?
 
Son düzenleme:
Katılım
5 Şubat 2016
Mesajlar
1
Excel Vers. ve Dili
2007
Tesekkürler bende arastırırken burada buldum. Elinize sağlık.
 
Katılım
24 Temmuz 2008
Mesajlar
172
Excel Vers. ve Dili
2010 türkçe
Altın Üyelik Bitiş Tarihi
30-10-2023
Merhaba,

Alternatif olsun.

1. satırın başlık ve A sütununda veri girileceği varsayılmıştır.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

    If Intersect(Target, [A:A]) Is Nothing Or Target.Row < 2 Then Exit Sub

    Application.EnableEvents = False

    Target = TimeSerial(Int(Target.Value / 100), Target.Value Mod 100, 0)

    Application.EnableEvents = True

End Sub
Not : 75 te yazsanız 01:15 olarak çevirir.
Merhaba arkadaşlar.
Formülle hesaplattığımda 37,50 olan rakamı 37:30 yapmak istedim ama hata verdi.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,438
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Alternatif :

Kod:
=A1/24
Hücreyi de aşağıdaki gibi Özel Hücre biçiminden Türe Yazınız
Kod:
[s]:dd
 
Üst