Tarihe Göre Renk Atama

1 2
17/12/2017, 20:49

arif1971

"tarih" isminde oluşturduğum Excel dosyasında; "HAFTA SONLARINI GÖSTER" butonuna basınca; B2 ile S2 Hücresi arasındaki hafta sonlarını yada ayın cuma günlerini sarı renk hücre yapsın ve içine " t " harf koyması için ne yapmam gerekiyor. 
18/12/2017, 16:01

direnist

Merhaba;
Aşağıdaki kodu butonunuzun kod kısmına ekleyip dener misiniz ?
İyi çalışmalar.
Dim dolu_sutun, i As Integer
dolu_sutun = WorksheetFunction.CountA(Range("1:1"))

   For i = 2 To dolu_sutun
       If WorksheetFunction.Weekday(Cells(1, i), vbMonday) > 5 Then
           Cells(1, i).Interior.Color = 65535
           Cells(1, i) = Cells(1, i) & "_T"
       End If
   Next i
   Msgbox "İşlem tamamlandı."
Range("A1").Select
18/12/2017, 20:38

arif1971

(18/12/2017, 16:01)direnist yazdı: Merhaba;
Aşağıdaki kodu butonunuzun kod kısmına ekleyip dener misiniz ?
İyi çalışmalar.
Dim dolu_sutun, i As Integer
dolu_sutun = WorksheetFunction.CountA(Range("1:1"))

   For i = 2 To dolu_sutun
       If WorksheetFunction.Weekday(Cells(1, i), vbMonday) > 5 Then
           Cells(1, i).Interior.Color = 65535
           Cells(1, i) = Cells(1, i) & "_T"
       End If
   Next i
   Msgbox "İşlem tamamlandı."
Range("A1").Select

Hocam ilginizden dolayı çok teşekkür ederim.  Kodu ilgili yere yazdıktan sonra çalıştı, fakat bir alt satıra perşembe gününe "T" yazdırmak ve sarı renk hücre yapmak istiyorum. Çok uğraştım ama yapamadım. Yardımcı olursanız sevinirim.
Birde makro VB dosyası olarak kayıt yapamıyorum, ne yapmam gerekiyor.
18/12/2017, 23:23

direnist

Merhaba;
Aşağıdaki kodda hafta sonlarını ve perşembe günlerini sarı renk yapıp Perşembe günlerine "T" yazıyor.
WeekDay fonksiyonunu ve bu fonksiyondan dönen haftanın gün numaralarını araştırın. İşinize yarayacaktır.
Makrolu olarak kaydetmek için;

Excel in mesaj kutusunda belirttiği gibi "Hayır" ı tıklayıp kaydedeceğiniz yeri seçtikten sonra Kayıt Türü olarak "Makro içerebilen Excel Çalışma Kitabı(.xlsm)" olan uzantıyı seçerek kaydedin.
İyi çalışmalar.
Dim dolu_sutun, i As Integer
dolu_sutun = WorksheetFunction.CountA(Range("1:1"))

   For i = 2 To dolu_sutun
 
       If WorksheetFunction.Weekday(Cells(1, i), vbMonday) > 5 Then
           Cells(2, i).Interior.Color = 65535
       ElseIf WorksheetFunction.Weekday(Cells(1, i), vbMonday) = 4 Then
           Cells(2, i).Interior.Color = 65535
           Cells(2, i) = "T"
       End If
   Next i
   MsgBox "İşlem tamamlandı."
Range("A1").Select
19/12/2017, 17:39

arif1971

İlginizden dolayı çok teşekkür ederim. İnanın çok işime yaradı. Güvenlik vardiya listesi hazırlamaya çalışıyorum. Yaptığım çalışmayı burdan yayınlayacağım mutlaka.
19/12/2017, 23:07

arif1971

Hocam; kusura bakmayın yaparken yine takıldım....şimdi kayıtları çoğaltmak istiyorum ama yapamıyorum....sadece beş kayıtta günlük izinleri gösterebiliyorum....renkleri tüm kayıtlara yapabildim ama günlük izinleri beceremedim....çok teşşekkür ederim.
1 2