4 Mayıs 2022 Çarşamba

Excel: Aktif satır ve sütun renklendirme

Yayınlama: 19/06/2016
Güncelleme: 04/05/2022
Makro kullanarak Excelde aktif satır ve sütunu renklendirerek hücre takibi yapmak kolaylaştırılabilir.
Bu işlem için üç farklı VBA makro kodu veriyorum.
Kodları deneyip uygun olanını kullanabilirsiniz.

Makro eklemek için önce aşağıda verilen makro kodunu kopyalayın.
Excelde sayfa adı(Sayfa1, Sayfa2 ...) üzerinde sağ tıklayın
Açılan menüde Kod görüntüle tıklayın.

Açılan kod penceresinde kodu yapıştırın. CTRL+V


VBA Editörünü açmak için alternatif yollar:

ALT+F11'e basın.
ya da
Menüden Geliştirici / Kod görüntüle




Açılan pencerede sol bölmeden sayfa adını çift tıklayın(Sayfa1, Sayfa2 ...)
Sağ bölmeye kodu yapıştırın.

Makro 1:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'makro: Mesut Akcan
'mesutakcan.blogspot.com
'19/6/2016
'Güncelleme: 04/05/2022

' önceden hücrelerde yapılan zemin rengi renklendirmelerini iptal eder
' CTRL+Z (Geri al) çalışmaz

On Error Resume Next
If Application.CutCopyMode = xlCopy Or Application.CutCopyMode = xlCut Then Exit Sub

g = 10 'renklendirme genişliği
r = Target.Row 'satır no
c = Target.Column 'sütun no

renk = 6 'dikey ve yatay hücrelerin rengi. 6=sarı
ahrenk = 17 'aktif hücre rengi. örnek: 3=kırmızı, 7=pembe, 2= beyaz

br = r - g 'renklendirme başlangıç satırı
If br < 1 Then br = 1

bc = c - g 'renklendirme başlangıç sütunu
If bc < 1 Then bc = 1

'Tüm hücrelerin zemin rengini iptal et
Cells.Interior.ColorIndex = xlNone

'dikey hücreleri renklendir
Range(Cells(r, bc), Cells(r, c + g)).Interior.ColorIndex = renk

'yatay hücreleri renklendir
Range(Cells(br, c), Cells(r + g, c)).Interior.ColorIndex = renk

'aktif hücre zemin rengi
ActiveCell.Interior.ColorIndex = ahrenk
End Sub

Makro 2:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'makro: Mesut Akcan
'19/6/2016
'mesutakcan.blogspot.com
' önceden hücrelerde yapılan zemin rengi renklendirmelerini iptal eder ' CTRL+Z (Geri al) çalışmaz Cells.Interior.ColorIndex = xlColorIndexNone With ActiveCell .EntireColumn.Interior.ColorIndex = 17 'Sütun Rengi. 6=sarı .EntireRow.Interior.ColorIndex = 17 ' Satır Rengi .Cells.Interior.ColorIndex = 19 ' Hücre Rengi End With End Sub

Makro 3

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'A1 hücresinde M olduğu sürece renklendirme yapar
'makro: Mesut Akcan
'mesutakcan.blogspot.com
'23/02/2018 'Güncelleme: 01/05/2022 ' hücrelerde yapılan zemin rengi renklendirmelerini iptal eder ' CTRL+Z -> Geri al çalışmaz If UCase(Range("A1").Value) = "M" Then Cells.Interior.ColorIndex = xlColorIndexNone With ActiveCell .EntireColumn.Interior.ColorIndex = 6 'Sütun Rengi .EntireRow.Interior.ColorIndex = 6 ' Satır Rengi .Cells.Interior.ColorIndex = 19 ' Hücre Rengi End With End If End Sub

Hiç yorum yok:

Yorum Gönder