Vba: menerapkan pemformatan bersyarat ke nilai duplikat
Anda dapat menggunakan sintaks dasar berikut di VBA untuk menerapkan pemformatan bersyarat untuk menduplikasi nilai dalam rentang tertentu:
Sub ConditionalFormatDuplicates()
Dim rg As Range
Dim uv As UniqueValues
'specify range to apply conditional formatting
Set rg = Range(" A2:A11 ")
'clear any existing conditional formatting
rg.FormatConditions.Delete
'identify duplicate values in range A2:A11
Set uv = rg.FormatConditions.AddUniqueValues
uv.DupeUnique = xlDuplicate
'apply conditional formatting to duplicate values
uv.Interior.Color = vbBlue
uv.Font.Color = vbWhite
uv.Font.Bold = True
End Sub
Contoh khusus ini menerapkan pemformatan bersyarat untuk menduplikasi nilai dalam rentang A2:A11 pada lembar saat ini di Excel.
Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.
Contoh: Gunakan VBA untuk Menerapkan Pemformatan Bersyarat ke Nilai Duplikat
Misalkan kita memiliki kolom nilai berikut di Excel:
Misalkan kita ingin menerapkan pemformatan bersyarat berikut ke nilai duplikat di kolom A:
- Latar belakang biru
- Teks hitam
- Teks tebal
Kita dapat membuat makro berikut untuk melakukan ini:
Sub ConditionalFormatDuplicates()
Dim rg As Range
Dim uv As UniqueValues
'specify range to apply conditional formatting
Set rg = Range(" A2:A11 ")
'clear any existing conditional formatting
rg.FormatConditions.Delete
'identify duplicate values in range A2:A11
Set uv = rg.FormatConditions.AddUniqueValues
uv.DupeUnique = xlDuplicate
'apply conditional formatting to duplicate values
uv.Interior.Color = vbBlue
uv.Font.Color = vbWhite
uv.Font.Bold = True
End Sub
Saat kami menjalankan makro ini, kami menerima keluaran berikut:
Perhatikan bahwa pemformatan bersyarat diterapkan ke setiap sel di kolom A dengan nilai duplikat.
Jika Anda ingin menerapkan pemformatan bersyarat ke rentang sel yang berbeda, cukup ganti A2:A11 di makro dengan rentang yang berbeda.
Selain itu, jika Anda ingin menghapus semua pemformatan bersyarat dari sel pada lembar saat ini, Anda bisa membuat makro berikut untuk melakukannya:
Sub RemoveConditionalFormatting()
ActiveSheet.Cells.FormatConditions.Delete
End Sub
Saat kami menjalankan makro ini, kami menerima keluaran berikut:
Perhatikan bahwa semua pemformatan bersyarat telah dihapus dari sel.
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di VBA:
VBA: Cara menghitung nilai unik dalam rentang
VBA: Cara menghitung sel dengan teks tertentu
VBA: Cara menulis fungsi COUNTIF dan COUNTIFS