Vba: cara menerapkan pemformatan bersyarat ke sel


Anda dapat menggunakan metode berikut di VBA untuk menerapkan pemformatan bersyarat ke sel:

Metode 1: Terapkan pemformatan bersyarat berdasarkan suatu kondisi

 Sub ConditionalFormatOne()
Dim rg As Range
Dim cond As FormatCondition

'specify range to apply conditional formatting
Set rg = Range(" B2:B11 ")

'clear any existing conditional formatting
rg.FormatConditions.Delete

'apply conditional formatting to any cell in range B2:B11 with value greater than 30
Set cond = rg.FormatConditions.Add(xlCellValue, xlGreater, " =30 ")

'define conditional formatting to use
With cond
.Interior.Color = vbGreen
.Font.Color = vbBlack
.Font.Bold = True
End With

End Sub

Metode 2: Terapkan pemformatan bersyarat berdasarkan beberapa kondisi

 Sub ConditionalFormatMultiple()
Dim rg As Range
Dim cond1 As FormatCondition, cond2 As FormatCondition, cond3 As FormatCondition

'specify range to apply conditional formatting
Set rg = Range(" A2:A11 ")

'clear any existing conditional formatting
rg.FormatConditions.Delete

'specify rules for conditional formatting
Set cond1 = rg.FormatConditions.Add(xlCellValue, xlEqual, “ Mavericks ”)
Set cond2 = rg.FormatConditions.Add(xlCellValue, xlEqual, “ Blazers ”)
Set cond3 = rg.FormatConditions.Add(xlCellValue, xlEqual, “ Celtics ”)

'define conditional formatting to use
With cond1
.Interior.Color = vbBlue
.Font.Color = vbWhite
.Font.Italic = True
End With

With cond2
.Interior.Color = vbRed
.Font.Color = vbWhite
.Font.Bold = True
End With

With cond3
.Interior.Color = vbGreen
.Font.Color = vbBlack
End With

End Sub

Metode 3: Hapus semua aturan pemformatan bersyarat dari sel

 Sub RemoveConditionalFormatting()
ActiveSheet.Cells.FormatConditions.Delete
End Sub

Contoh berikut memperlihatkan cara menggunakan setiap metode dalam praktik dengan kumpulan data berikut di Excel:

Contoh 1: Terapkan pemformatan bersyarat berdasarkan suatu kondisi

Kita bisa menggunakan makro berikut untuk mengisi sel dalam rentang B2:B11 yang memiliki nilai lebih besar dari 30 dengan latar belakang hijau, font hitam, dan gaya teks tebal:

 Sub ConditionalFormatOne()
Dim rg As Range
Dim cond As FormatCondition

'specify range to apply conditional formatting
Set rg = Range(" B2:B11 ")

'clear any existing conditional formatting
rg.FormatConditions.Delete

'apply conditional formatting to any cell in range B2:B11 with value greater than 30
Set cond = rg.FormatConditions.Add(xlCellValue, xlGreater, " =30 ")

'define conditional formatting to use
With cond
.Interior.Color = vbGreen
.Font.Color = vbBlack
.Font.Bold = True
End With

End Sub

Saat kami menjalankan makro ini, kami menerima keluaran berikut:

Perhatikan bahwa setiap sel dalam rentang B2:B11 yang memiliki nilai lebih besar dari 30 tunduk pada pemformatan bersyarat.

Setiap sel dengan nilai sama dengan atau kurang dari 30 dibiarkan begitu saja.

Contoh 2: Terapkan pemformatan bersyarat berdasarkan beberapa kondisi

Kita bisa menggunakan makro berikut untuk menerapkan pemformatan bersyarat ke sel dalam rentang A2:A11 berdasarkan nama timnya:

 Sub ConditionalFormatMultiple()
Dim rg As Range
Dim cond1 As FormatCondition, cond2 As FormatCondition, cond3 As FormatCondition

'specify range to apply conditional formatting
Set rg = Range(" A2:A11 ")

'clear any existing conditional formatting
rg.FormatConditions.Delete

'specify rules for conditional formatting
Set cond1 = rg.FormatConditions.Add(xlCellValue, xlEqual, “ Mavericks ”)
Set cond2 = rg.FormatConditions.Add(xlCellValue, xlEqual, “ Blazers ”)
Set cond3 = rg.FormatConditions.Add(xlCellValue, xlEqual, “ Celtics ”)

'define conditional formatting to use
With cond1
.Interior.Color = vbBlue
.Font.Color = vbWhite
.Font.Italic = True
End With

With cond2
.Interior.Color = vbRed
.Font.Color = vbWhite
.Font.Bold = True
End With

With cond3
.Interior.Color = vbGreen
.Font.Color = vbBlack
End With

End Sub

Saat kami menjalankan makro ini, kami menerima keluaran berikut:

Perhatikan bahwa sel dengan nama tim “Mavericks”, “Blazers”, dan “Celtics” semuanya tunduk pada format bersyarat tertentu.

Satu-satunya tim dengan nama “Lakers” yang tersisa karena kami belum menentukan aturan pemformatan bersyarat apa pun untuk sel dengan nama tim tersebut.

Contoh 3: Hapus semua aturan pemformatan bersyarat dari sel

Terakhir, kita bisa menggunakan makro berikut untuk menghapus semua aturan pemformatan bersyarat dari sel pada lembar saat ini:

 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 setiap sel.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di VBA:

VBA: Cara menghitung kemunculan karakter dalam sebuah string
VBA: cara memeriksa apakah suatu string berisi string lain
VBA: rumus untuk “Jika” sel berisi”

Tambahkan komentar

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