Macro Excel untuk merubah isi cell yang berwarna tertentu


Suatu ketika, saya dimintai tolong oleh istri untuk mengerjakan pekerjaannya di Excel.
Sebagai suami yang menyayangi istri, saya pun menyanggupinya.
Ternyata, salah satu pekerjaannya adalah untuk mengisi cells yang berwarna kuning dengan tulisan.
Di contoh ini, saya beri saja tulisan "X".

Maka, saya pun googling sebentar, dan ketemu lah cara untuk melakukannya melalui otomasi Macro VBA. Caranya, select dulu cells yang diinginkan, lalu run Macro ini.

Sub ubahIsiBasedOnColor()
Dim rng As Range
Dim aaa As Range
Set rng = Selection

With Application
        .ScreenUpdating = False
        xlCalc = .Calculation
        .Calculation = xlCalculationManual
        .EnableEvents = False
        .DisplayAlerts = False
    End With

For Each aaa In rng
    If aaa.Interior.Color <> 16777215 Then '16777215 = putih
        If aaa.Value = "" Then
            aaa.Value = "X"
        End If
    End If
Next aaa

With Application
        .ScreenUpdating = True
        .EnableEvents = True
        .DisplayAlerts = True
        .Calculation = xlCalc
    End With

End Sub

Berikut hasilnya :

Contoh hasilnya
Di sini saya mengisi cells yang warnanya BUKAN putih, yaitu code 16777215. Untuk detail mengapa warna putih terasosiasi dengan code tersebut, mohon maaf saya tidak explore lebih lanjut.

Semoga bermanfaat

0 comments:

Post a Comment