• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Tarih formatı (hücre biçimlendirme)

  • Konbuyu başlatan Konbuyu başlatan izcik
  • Başlangıç tarihi Başlangıç tarihi
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:
Merhaba,
Koşullu biçimlendir - Metin kısmından yapabilirsiniz.
 

Alanı seçiniz.

Koşullu Biçimlendirme.

Hücre Vurgulama Kuralları

İçerdiği Metin
 
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.
 
Neden sadece Çarşambayı renklendiriyorsunuz?
Çarşamba olan hücrenin tamamını renklendirmeyi neden tercih etmiyorsunuz?
 
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.
 
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
 
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.
 
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?
 
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.
 
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
 
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. :)
 
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.
 
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.

 
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
 
Hemen itinayla birçok denemeler yapacağım Sayın ÖmerFaruk uzmanım. Kafama takılan şeyler olursa size arz edeceğim :)
 
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 :)

 
Geri
Üst