Tarih formatı (hücre biçimlendirme)

Katılım
18 Mayıs 2009
Mesajlar
1,184
Excel Vers. ve Dili
Excel 2016 Türkçe
Selamlar sn uzmanlarım

Forumda arama yaptım ama göremedim.

Tarih sütununu hücre biçimlendirme ile kolayca

22.09.2021 Çarşamba olarak yazabiliyorum.
Hatta metneçevir ile günleri ayrı bir sütuna yazıp, birleştirebiliyorum.

Çarşamba kelimesini, yani günleri; (biraz rahat okunsun diye) kırmızı renge çevirmenin imkanı var mıdır? (Hücre biçimlendirme ile)

Yani şöyle
22.09.2021 Çarşamba
(Çarşamba kırmızı olacak)
 
Son düzenleme:

gicimi

Altın Üye
Katılım
3 Şubat 2008
Mesajlar
594
Excel Vers. ve Dili
Office 2016 Eng. 64 Bit
Merhaba,
Koşullu biçimlendir - Metin kısmından yapabilirsiniz.
 

gicimi

Altın Üye
Katılım
3 Şubat 2008
Mesajlar
594
Excel Vers. ve Dili
Office 2016 Eng. 64 Bit

Alanı seçiniz.

Koşullu Biçimlendirme.

Hücre Vurgulama Kuralları

İçerdiği Metin

 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,317
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bahsi geçen işlemi yapabilmeniz için hücrede fiziksel olarak 22.09.2021 Çarşamba yazmalıdır. Sizin hücrelerinizin içeriği tarih biçimindedir. Yani sayısal veridir. Önerilen yöntem METİNSEL veriler için geçerlidir.
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,615
Excel Vers. ve Dili
Microsoft 365 Tr-64
Neden sadece Çarşambayı renklendiriyorsunuz?
Çarşamba olan hücrenin tamamını renklendirmeyi neden tercih etmiyorsunuz?
 

gicimi

Altın Üye
Katılım
3 Şubat 2008
Mesajlar
594
Excel Vers. ve Dili
Office 2016 Eng. 64 Bit
Mesajda "Çarşamba" isminin kırmızı renkte olmasını istediğiniz için bu yöntemi belirttim. Korhan Bey'in söylediği gibi bahset olduğum durum Metinsel veriler içindir.
 
Katılım
18 Mayıs 2009
Mesajlar
1,184
Excel Vers. ve Dili
Excel 2016 Türkçe
Biraz anladım sanıyorum.
Denemeler yapacağım.

Ömer Faruk uzmanım güzel sordunuz.
Bir doktor arkadaşıma randevu listesi tasarlayayım dedim. Daha başındaydım. Yeni başlamıştım. Günler renkli görünürse daha kolay farkedilir, gözü yormaz diye düşünmüştüm
 
Katılım
18 Mayıs 2009
Mesajlar
1,184
Excel Vers. ve Dili
Excel 2016 Türkçe
Bir küçük soru Sn uzmanlarım.

Örnek olarak 5 nolu mesajdaki dosya gibi, A sütununda tarihler var.

Dosyayı açtığımızda o günün tarihi (atıyorum)
05.10.2021
olsun.

05.10.2021 tarihi olan satırı, en üst satırın bir altına getirecek şekilde kod yazılabilir mi? (En üstte başlık olacağı için, en üstün bir altına gelmesi, daha iyi olacaktır. 2. satırın yeri gibi)

Amaç; dosya açıldığı zaman o günün tarihi olan satır, sayfanın en üstünün bir altında görünsün.
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,615
Excel Vers. ve Dili
Microsoft 365 Tr-64
Diyelim listeniz 1.10.2021 den başlıyor.
Bugün ayın 5 i
Açtınız 2.satırda 5.10.2021 güzüküyor

1-2-3-4.10.2021 satırları
silinecek mi?
gizlenecek mi?
aşağı mı kayacak?
 
Katılım
18 Mayıs 2009
Mesajlar
1,184
Excel Vers. ve Dili
Excel 2016 Türkçe
Diyelim listeniz 1.10.2021 den başlıyor.
Bugün ayın 5 i
Açtınız 2.satırda 5.10.2021 güzüküyor

1-2-3-4.10.2021 satırları
silinecek mi?
gizlenecek mi?
aşağı mı kayacak?
Sorularınız güzel uzmanım.
Sadece aşağı kayacak uzmanım. Maksat o günün satırı, dosya açılınca hemen üstte görünsün, ikinci sırada görünsün. Aramaya uğraşılmasın diye düşündüm. Aklımdan böyle geçti.
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,615
Excel Vers. ve Dili
Microsoft 365 Tr-64
Verdiğiniz örnek dosya doğrultusunda olmak üzere,
Aşağıdaki kodları Çalışma Kitabı Kod Sayfasına yapıştırın.
Dosyanızı kapatıp açarak deneyin.
C++:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Bul As Range, Kopyala As Date, SonrakiTarih As Date
Application.DisplayAlerts = False
Do
gün = gün + 1
SonrakiTarih = DateAdd("d", gün, Range("A2"))
Set Bul = Sheets("Sayfa1").Range("A:A").Find(SonrakiTarih)
If Not Bul Is Nothing Then Exit Do
If gün > 999 Then Exit Sub
Loop
Kopyala = Range("A2")
Range("A3:A" & Bul.Row - 1).Copy Range("A2:A" & Bul.Row - 2)
Range("A" & Bul.Row - 1) = Kopyala
ActiveWorkbook.Save
Application.DisplayAlerts = True
End Sub

Private Sub Workbook_Open()
Dim Bul As Range, Kopyala As Date
Set Bul = Sheets("Sayfa1").Range("A:A").Find(Date)
If Bul Is Nothing Then Exit Sub
Kopyala = Bul.Value
Range("A2:A" & Bul.Row - 1).Copy Range("A3:A" & Bul.Row)
Range("A2") = Kopyala
End Sub
 
Katılım
18 Mayıs 2009
Mesajlar
1,184
Excel Vers. ve Dili
Excel 2016 Türkçe
Verdiğiniz örnek dosya doğrultusunda olmak üzere,
Aşağıdaki kodları Çalışma Kitabı Kod Sayfasına yapıştırın.
Dosyanızı kapatıp açarak deneyin.
C++:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Bul As Range, Kopyala As Date, SonrakiTarih As Date
Application.DisplayAlerts = False
Do
gün = gün + 1
SonrakiTarih = DateAdd("d", gün, Range("A2"))
Set Bul = Sheets("Sayfa1").Range("A:A").Find(SonrakiTarih)
If Not Bul Is Nothing Then Exit Do
If gün > 999 Then Exit Sub
Loop
Kopyala = Range("A2")
Range("A3:A" & Bul.Row - 1).Copy Range("A2:A" & Bul.Row - 2)
Range("A" & Bul.Row - 1) = Kopyala
ActiveWorkbook.Save
Application.DisplayAlerts = True
End Sub

Private Sub Workbook_Open()
Dim Bul As Range, Kopyala As Date
Set Bul = Sheets("Sayfa1").Range("A:A").Find(Date)
If Bul Is Nothing Then Exit Sub
Kopyala = Bul.Value
Range("A2:A" & Bul.Row - 1).Copy Range("A3:A" & Bul.Row)
Range("A2") = Kopyala
End Sub
Hemen deniyorum ÖmerFaruk uzmanım. :)
 
Katılım
18 Mayıs 2009
Mesajlar
1,184
Excel Vers. ve Dili
Excel 2016 Türkçe
Verdiğiniz örnek dosya doğrultusunda olmak üzere,
Aşağıdaki kodları Çalışma Kitabı Kod Sayfasına yapıştırın.
Dosyanızı kapatıp açarak deneyin.
C++:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Bul As Range, Kopyala As Date, SonrakiTarih As Date
Application.DisplayAlerts = False
Do
gün = gün + 1
SonrakiTarih = DateAdd("d", gün, Range("A2"))
Set Bul = Sheets("Sayfa1").Range("A:A").Find(SonrakiTarih)
If Not Bul Is Nothing Then Exit Do
If gün > 999 Then Exit Sub
Loop
Kopyala = Range("A2")
Range("A3:A" & Bul.Row - 1).Copy Range("A2:A" & Bul.Row - 2)
Range("A" & Bul.Row - 1) = Kopyala
ActiveWorkbook.Save
Application.DisplayAlerts = True
End Sub

Private Sub Workbook_Open()
Dim Bul As Range, Kopyala As Date
Set Bul = Sheets("Sayfa1").Range("A:A").Find(Date)
If Bul Is Nothing Then Exit Sub
Kopyala = Bul.Value
Range("A2:A" & Bul.Row - 1).Copy Range("A3:A" & Bul.Row)
Range("A2") = Kopyala
End Sub
Uzmanım elinize emeğinize sağlık. Bir küçük hata var sanıyorum. Hemen ivedilikle bir örnek dosya yükleyeceğim.
 
Katılım
18 Mayıs 2009
Mesajlar
1,184
Excel Vers. ve Dili
Excel 2016 Türkçe
Uzmanım
A1 hücresindeki Başlık yazısı gidiyor
22.09.2021 tarihli hücre (ya da satır) kesilip A2’ye geliyor ama;
diğer bütün tarihler aynı şekilde duruyor.

 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,615
Excel Vers. ve Dili
Microsoft 365 Tr-64
Bende de bir kere verdi ama sebebini anlamadım.
Kodlarda ufak değişiklik yaptım. Takip edebilmek için.
Workbook kodlarını silin, Sayfa1 in kod sayfasına aşağıdakileri
C++:
Private Sub Worksheet_Activate()
Module1.Açarken
End Sub

Private Sub Worksheet_Deactivate()
Module1.Kapatırken
End Sub

Module1 içine de aşağıdakileri yapıştırın
C++:
Sub Kapatırken()
Dim Bul As Range, SonrakiTarih As Date
With Sheets("Sayfa1")
    If .Range("A2") < Date Then Exit Sub
    Application.DisplayAlerts = False
    Do
    gün = gün + 1
    SonrakiTarih = DateAdd("d", gün, Date)
    Set Bul = .Range("A:A").Find(SonrakiTarih)
    If Not Bul Is Nothing Then Exit Do
    If gün > 999 Then Exit Sub
    Loop
    .Range("A3:A" & Bul.Row - 1).Copy .Range("A2:A" & Bul.Row - 2)
    .Range("A" & Bul.Row - 1) = Date
    Application.DisplayAlerts = True
End With
End Sub

Sub Açarken()
Dim Bul As Range
    If Range("A2") = Date Then Exit Sub
    Set Bul = Range("A:A").Find(Date)
    If Bul Is Nothing Then Exit Sub
    Range("A2:A" & Bul.Row - 1).Copy Range("A3:A" & Bul.Row)
    Range("A2") = Date
    Range("A2").Activate
End Sub
 
Katılım
18 Mayıs 2009
Mesajlar
1,184
Excel Vers. ve Dili
Excel 2016 Türkçe
Hemen itinayla birçok denemeler yapacağım Sayın ÖmerFaruk uzmanım. Kafama takılan şeyler olursa size arz edeceğim :)
 
Katılım
18 Mayıs 2009
Mesajlar
1,184
Excel Vers. ve Dili
Excel 2016 Türkçe
Uzmanım denemeler yaptım olmadı maalesef
Call ile çağırdım, makro butonlarıyla denedim, workbook’u denedim, olmadı. Nerede hata yaptığımı anlayamadım.

Size örnek dosya arz ediyorum :)

 
Üst