Skip to main content

AccessTr.neT


Tarihe Göre Renk Atama

Tarihe Göre Renk Atama

#7
(18/12/2017, 23:23)direnist yazdı: 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

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.
.rar tarih.rar (Dosya Boyutu: 29,13 KB | İndirme Sayısı: 6)
Cevapla
#8
Merhaba;
Aşağıdaki kodu dener misiniz? 
Yapmak istediğinizi doğru anladıysam sanırım oldu, umarım işinize yarar.
İyi çalışmalar.
Dim dolu_sutun, i, d, x, y As Integer
dolu_sutun = WorksheetFunction.CountA(Range("1:1"))
dolu_satir = WorksheetFunction.CountA(Range("A:A"))

For x = 2 To dolu_satir
     For y = 5 To dolu_sutun
        If WorksheetFunction.Weekday(Cells(1, y), vbMonday) > 5 Then
           Cells(x, y).Interior.Color = 11005
        End If
    Next y
Next x

For d = 2 To dolu_satir Step 5
   For i = 5 To dolu_sutun
      If WorksheetFunction.Weekday(Cells(1, i), vbMonday) = 1 Then
           Cells(d, i).Interior.Color = 65535
           Cells(d, i) = "T"
      ElseIf WorksheetFunction.Weekday(Cells(1, i), vbMonday) = 2 Then
           Cells(d + 1, i).Interior.Color = 65535
           Cells(d + 1, i) = "T"
       ElseIf WorksheetFunction.Weekday(Cells(1, i), vbMonday) = 3 Then
           Cells(d + 2, i).Interior.Color = 65535
           Cells(d + 2, i) = "T"
       ElseIf WorksheetFunction.Weekday(Cells(1, i), vbMonday) = 4 Then
           Cells(d + 3, i).Interior.Color = 65535
           Cells(d + 3, i) = "T"
       ElseIf WorksheetFunction.Weekday(Cells(1, i), vbMonday) = 5 Then
           Cells(d + 4, i).Interior.Color = 65535
           Cells(d + 4, i) = "T"
       End If
   Next i
Next d
   MsgBox "GÜNLÜK İZİNLER VE HAFTA SONLARI GÖSTERİLDİ.....!!!!!"
Range("A1").Select
Cevapla
#9
(21/12/2017, 00:11)direnist yazdı: Merhaba;
Aşağıdaki kodu dener misiniz? 
Yapmak istediğinizi doğru anladıysam sanırım oldu, umarım işinize yarar.
İyi çalışmalar.
Dim dolu_sutun, i, d, x, y As Integer
dolu_sutun = WorksheetFunction.CountA(Range("1:1"))
dolu_satir = WorksheetFunction.CountA(Range("A:A"))

For x = 2 To dolu_satir
     For y = 5 To dolu_sutun
        If WorksheetFunction.Weekday(Cells(1, y), vbMonday) > 5 Then
           Cells(x, y).Interior.Color = 11005
        End If
    Next y
Next x

For d = 2 To dolu_satir Step 5
   For i = 5 To dolu_sutun
      If WorksheetFunction.Weekday(Cells(1, i), vbMonday) = 1 Then
           Cells(d, i).Interior.Color = 65535
           Cells(d, i) = "T"
      ElseIf WorksheetFunction.Weekday(Cells(1, i), vbMonday) = 2 Then
           Cells(d + 1, i).Interior.Color = 65535
           Cells(d + 1, i) = "T"
       ElseIf WorksheetFunction.Weekday(Cells(1, i), vbMonday) = 3 Then
           Cells(d + 2, i).Interior.Color = 65535
           Cells(d + 2, i) = "T"
       ElseIf WorksheetFunction.Weekday(Cells(1, i), vbMonday) = 4 Then
           Cells(d + 3, i).Interior.Color = 65535
           Cells(d + 3, i) = "T"
       ElseIf WorksheetFunction.Weekday(Cells(1, i), vbMonday) = 5 Then
           Cells(d + 4, i).Interior.Color = 65535
           Cells(d + 4, i) = "T"
       End If
   Next i
Next d
   MsgBox "GÜNLÜK İZİNLER VE HAFTA SONLARI GÖSTERİLDİ.....!!!!!"
Range("A1").Select

Evet kodu ekledim çalıştı çok teşekkür ederim. Fakat günlük kişi bazında ilişkilendirmeye kalktığımda sorun oluyor. Yani günlük izinleri hangi hücrede olacağını ayarlayamıyorum. Ne yapmam gerekiyor. Yani hücre olarak tek tek belirleyemiyorum. Yardımcı olursanız çok sevinirim. Kolay gelsin, iyi çalışmalar.
Cevapla
#10
Merhaba;
Keşke en başından tam olarak ne yapmak istediğinizini anlatan bir açıklama ile başlasaydınız. Ben sizin ilk başta ve sonrasında dediklerinize yardımcı olabildim. Bende çok üst seviye bilgiye sahip olmadığımdan bu şekilde parça parça olunca yardımcı olamıyorum. Yeni bir konu açmışsınız, sanırım bununla ilgili. Doğru mudur?
Doğru ise bu konunuzu cevaplanmış Excel soruları bölümüne taşıyıp, açtığınız yeni konu üzerinden hocalarımızın desteklerini bekleyelim.
İyi çalışmalar.
Cevapla
#11
(22/12/2017, 16:00)direnist yazdı: Merhaba;
Keşke en başından tam olarak ne yapmak istediğinizini anlatan bir açıklama ile başlasaydınız. Ben sizin ilk başta ve sonrasında dediklerinize yardımcı olabildim. Bende çok üst seviye bilgiye sahip olmadığımdan bu şekilde parça parça olunca yardımcı olamıyorum. Yeni bir konu açmışsınız, sanırım bununla ilgili. Doğru mudur?
Doğru ise bu konunuzu cevaplanmış Excel soruları bölümüne taşıyıp, açtığınız yeni konu üzerinden hocalarımızın desteklerini bekleyelim.
İyi çalışmalar.
Yok hocam bu çalışma benim yeni başladığım bir çalışma bu çalışmamda ben kendim vardiya çalışması yapıyorum. Eğer yapabiliyorsam ben Makronun içinde hücreleri yazıp günlük izinleri belirlemek istiyorum. Bu arada sizin bilginiz gerçekten iyi mütevazi olduğunuz için teşekkür ederim.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da