Mewarnai Sel Tertentu Yang Dipilih
Gambar di atas menunjukkan contoh worksheet dimana sel-sel tertentu yang dipilih/disorot dapat ditandai dengan format warna secara otomatis dengan menggunakan kode berikut ini:
Private Sub Worksheet_SelectionChange(ByVal X As Range)
Application.ScreenUpdating = False
Cells.Interior.ColorIndex = 0
X.Interior.Color = vbYellow
Application.ScreenUpdating = True
End Sub
Mewarnai Sel Beserta Baris dan Kolomnya Yang Dipilih
Gambar kedua merupakan contoh worksheet lainnya dimana sel yang dipilih diwarnai beserta seluruh baris dan kolom sel tersebut. Berikut ini susunan kode macronya:
Private Sub Worksheet_SelectionChange(ByVal X As Range)
If X.Cells.Count > 1 Then Exit Sub
Application.ScreenUpdating = False
Cells.Interior.ColorIndex = 0
With X
.EntireColumn.Interior.Color = vbYellow
.EntireRow.Interior.Color = vbYellow
End With
Application.ScreenUpdating = True
End Sub
Mewarnai Sel Beserta Baris dan Kolomnya Di Dalam Area Sel Yang Dipilih
Gambar ketiga menunjukkan contoh worksheet dengan fungsi yang sama seperti pada gambar kedua, hanya saja sel-sel kosong di luar area (barisan sel yang terdapat nilai), baris dan kolomnya tidak diwarnai seluruhnya.
Private Sub Worksheet_SelectionChange(ByVal X As Range)
Cells.Interior.ColorIndex = 0
If IsEmpty(X) Or X.Cells.Count > 1 Then Exit Sub
Application.ScreenUpdating = False
With ActiveCell
Range(Cells(.Row, .CurrentRegion.Column), _
Cells(.Row, .CurrentRegion.Columns.Count + .CurrentRegion.Column - 1)) _
.Interior.Color = vbYellow
Range(Cells(.CurrentRegion.Row, .Column), _
Cells(.CurrentRegion.Rows.Count + .CurrentRegion.Row - 1, .Column)) _
.Interior.Color = vbYellow
End With
Application.ScreenUpdating = True
End Sub
Mewarnai Sel Yang Dipilih dan Sel Sebelumnya Yang Dipilih
Selain dapat mewarnai sel-sel tertentu yang dipilih, melalui macro anda dapat membuat sorotan pada sel seperti meninggalkan jejak. Seperti yang ditunjukkan pada contoh susunan kode di bawah ini:
Private Sub Worksheet_SelectionChange(ByVal X As Range)
Cells.Interior.ColorIndex = 0
Static Jejak As Range
If Not Jejak Is Nothing Then _
Jejak.Interior.Color = vbYellow
X.Interior.Color = vbMagenta
Set Jejak = X
End Sub
1 Comments
kalau sel excel nya diproteksi menimbulkan eror ( Runtime erroe 1004 - Application-defined or object-defined error ) kesalahan pada Cells.Interior.ColorIndex = 0 dengan koding vba diatas . bagaimana cara proteksi sel nya agar tidak debug
ReplyDelete