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

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *