Karthik vpraša:
Delam na kodi dogodka za poudarjanje aktivne celice, v bistvu pokaži spremembo barve ozadja aktivne celice. Uporabil sem dogodek spremembe in to spremeni vrednost aktivne celice šele, ko se je vrednost spremenila.
Kakšno kul vprašanje. Trik je v tem, da namesto dogodka Worksheet_Change uporabite dogodek spremembe Worksheet_Selection. Ta poseben makro za obdelavo dogodkov je treba vnesti v podokno kode, ki je povezan z vašim delovnim listom. Na tem arhiviranem nasvetu je razprava o tem, kako to najti v podoknu projekta.
Nato bi vnesli naslednjo kodo:
Public OldRng As Range Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not OldRng Is Nothing Then OldRng.Interior.ColorIndex = xlNone End If Target.Interior.ColorIndex = 6 Set OldRng = Target End Sub
Ta program uporablja javno spremenljivko, imenovano OldRng, da si zapomni zadnji obseg, ki je bil izbran, da lahko barvo ponastavite nazaj na belo, ko izberete nov obseg.