• DİKKAT

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

Makro ile hücre boyama

Katılım
30 Eylül 2010
Mesajlar
15
Excel Vers. ve Dili
office 2010 türkçe
Merhaba ARkadaşlar,

ekteki dosyada yardımınıza ihtiyacım bulunmaktadır.

login id bölümünde aynı olan sayıların alttaki login time'ından üstteki logout timenin çıkartılarak üsttekinin logout kaldığı süreye yazılması gerekmektedir.

Örnek verecek olursam,

dosyada a6-a8 de bulunan 345420 ıd sinin

j6 = c7-d6
j7 = c8-d7
j8 değeri ise boş kalmalıdır. Çünkü a9 hücresinde ID no değişmiştir.

bu işlemleri eğer komutu ile yapabiliyorum...

ancak logout kaldığı bölümde oluşan sayılar eğer 00:15 den büyük ise o hücreyi kırmızıya boyatmak istiyorum.

Bunların hepsini bir makro da nasıl yapabilirim.

Yardımlarınızzı bekliyorum ..
 

Ekli dosyalar

Merhaba,

Module kopyalayarak çalıştırınız. Yalnız J sütununun sonudanki hatalı hücreyi silmenizi tavsiye ederim.

Kod:
Sub RenkVer()
 
    Dim i As Long
 
    Range("J4:J" & Rows.Count).Interior.ColorIndex = 0
 
    For i = 4 To Cells(Rows.Count, "J").End(xlUp).Row
        With Cells(i, "J")
            If .Value > #12:15:00 AM# And .Value <> "" Then
                .Interior.ColorIndex = 3
            End If
        End With
    Next i
 
End Sub
.
 
Ancak bir sorun daha olacak... bu farkını aldığım hücrelerin değeri 00:15 den büyük ise bu farkını aldığım hücreleride nasıl boyatabilirim ?

örnek verecek olursam

j6 = c7-d6 > 00:15 ise c7 ve d6 da kırmızı renk olsun
 
Fark almak için kullandığınız formül yada makro kodunu yazarmısınız.

Aynı kodun üzerine ilave edilmesi daha kolay olur. Eğer formül kullandıysanız makro yerine koşullu biçimlendirme ile yapılması daha mantıklı olacaktır.

.
 
evet formül kullandım

=EĞER(A5=A4;C5-D4;"") yani c5-d4 değeri 00:15 den büyük ise c5 ve d4 ü kırmızı olarak boyasın... bu dosya anlık olarak değişebileceği için makro olarak yazılırsa daha iyi olur diye düşündüm.
 
Bu şekilde deneyin.

Kod:
Sub RenkVer()
 
    Dim i As Long
 
    Range("J4:J" & Rows.Count).ClearContents
    Range("C4:D" & Rows.Count).Interior.ColorIndex = 0
 
    For i = 4 To Cells(Rows.Count, "A").End(xlUp).Row
        With Cells(i, "J")
            If Cells(i + 1, "A") = Cells(i, "A") Then
                .Value = Cells(i + 1, "C") - Cells(i, "D")
                If .Value > #12:15:00 AM# And .Value <> "" Then
                    Cells(i + 1, "C").Interior.ColorIndex = 3
                    Cells(i, "D").Interior.ColorIndex = 3
                End If
            End If
        End With
    Next i
 
End Sub
.
 
.Value = Cells(i + 1, "C") - Cells(i, "D")
If .Value > #12:15:00 AM# And .Value <> "" Then

bu .value lerden önce ne yazmam gerekiyor acaba ?

onu bulamadım ben :(
 
Çok teşekkür ederim.. Yanlış yaptığım yeri buldum. Kusura bakma en son yazdığım mesaj içinde Başkan.
 
Geri
Üst