Excel’de Yinelenen Her Değeri Farklı Renklendirme
Excel’de yinelenen her değeri farklı renklendirme . Bildiğiniz gibi Excel’de birden fazla yinelenen değerleri koşullu biçimlendirme yöntemiyle renklendirebilmekteyiz. Fakat koşullu biçimlendirme tüm yinelenen değerleri tek renk üzerinde vurgulamaktadır. Aşağıda anlatacağımız bu yöntemle ile her yinelenen değeri birbirleriyle aynı renkte gruplandırabilirsiniz.
Konuyu biraz daha açacak olursak, diyelim ki birçok yinelenen değerlerinizin olan bir çalışma sayfanız var. Ve bu değerlerin 10’u birbiriyle, diğer 5’i birbiriyle ve geriye kalan 5’nin de birbiriyle aynı olduğunu varsayalım. Koşullu biçimlendirme uyguladığınızda hepsini tek renk vurgulayacaktır. Bizim aşağıda anlatacağımız yöntemde ise verdiğimiz örneğe göre açıklarsak 10’u bir renk, 5’i bir renk ve diğer 5’i bir renk alacak. Bu sayede yinelenen değerleri tam olarak ayırabilirsiniz.
Excel’de Yinelenen Her Değeri Farklı Renklendirme Yöntemi
Excel çalışma sayfamızı açalım. Ardından;
Sayfayı Mouse ile sağ tıklayıp “kod görüntüle” veya klavyenizden Alt + F11 tuşlarına aynı anda basın. Bu işlem Microsoft Visual Basic uygulamasının açılmasını sağlayacaktır.
Microsoft Visual Basic açıldığında ‘Insert’ menüsünden “Module” seçeneğini işaretleyin.
Mouse ile yeni modüle çift tıklayıp giriş yaptıktan sonra aşağıdaki kodu boş alana yapıştırın.
Sub YinelenenDegerleriRenklendir()
Dim xRg As Range
Dim xTxt As String
Dim xCell As Range
Dim xChar As String
Dim xCellPre As Range
Dim xCIndex As Long
Dim xCol As Collection
Dim I As Long
On Error Resume Next
If ActiveWindow.RangeSelection.Count > 1 Then
xTxt = ActiveWindow.RangeSelection.AddressLocal
Else
xTxt = ActiveSheet.UsedRange.AddressLocal
End If
Set xRg = Application.InputBox("Lütfen işlem yapmak istediğiniz hücre aralığını seçiniz.(Birden fazla aralık seçmek için Ctrl tuşunu kullanabilirsiniz.)", "My To World", xTxt, , , , , 8)
If xRg Is Nothing Then Exit Sub
xCIndex = 2
Set xCol = New Collection
For Each xCell In xRg
On Error Resume Next
xCol.Add xCell, xCell.Text
If Err.Number = 457 Then
xCIndex = xCIndex + 1
Set xCellPre = xCol(xCell.Text)
If xCellPre.Interior.ColorIndex = xlNone Then xCellPre.Interior.ColorIndex = xCIndex
xCell.Interior.ColorIndex = xCellPre.Interior.ColorIndex
ElseIf Err.Number = 9 Then
MsgBox "Çok fazla yinelenen değer var!", vbCritical, "My To World"
Exit Sub
End If
On Error GoTo 0
Next
End Sub
İsterseniz kodu .txt olarak aşağıdaki linkten indirebilirsiniz.
Kodu yapıştırdıktan sonra;
F5 tuşuyla kodlamayı çalıştırmanız yeterlidir. Bu aşamadan sonra çalışacak olan makro size işlem yapmak istediğiniz hücre aralığını soracaktır. Renklendirmek istediğiniz hücreleri seçip “Tamam” Demeniz yeterlidir.
Eğer işlem aralığınızı bilmiyorsanız makroyu F5 ile çalıştırmadan kaydedin ve çalışma sayfanıza geri dönün. Ardından;
Renklendirmeyi uygulamak istediğiniz alanı seçin ve Alt + F8 tuşlarına basın.
Makro iletişim kutusu açıldığında oluşturduğunuz makroyu seçip “çalıştır” düğmesine tıklayın.
Makroyu çalıştır yaptığınızda seçtiğiniz alan aralığının olduğu küçük bir makro uygulama kutusu açılacaktır. Burada seçtiğiniz aralık doğru ise “Tamam” düğmesine tıklayın. Ayrıca burada isterseniz seçtiğiniz alanı yeniden boyutlandırabilirsiniz.
Makroyu uyguladığınızda Resim 9’daki gibi aynı değerler birbirleri ile aynı rengi almış olacaktır.
Dilerseniz makronuzu farklı yöntemler (kısayol tuşu atama, buton ekleme, koşul ekleme gibi seçenekler) ile çalıştırabilirsiniz. Bu konuda herhangi bir ihtiyacınız olması halinde yorumlarda belirtebilirsiniz.
İlgili makaleler;
