Ваш код работает нормально, он выделяет все пустые ячейки красным цветом. Проблема в том, что у вас нет возможности вырваться из цикла, когда вы достигнете конца ваших данных, код будет продолжать выделять пустые ячейки вплоть до конца листа (до строки 1 048 576), что, вероятно, вызовет Excel повесить.
Вы можете найти последнюю строку данных и выйти из цикла при достижении этой строки. Ниже приводится ограничение цикла к длине столбца «K» (предполагается, что все столбцы имеют одинаковую длину).
Sub highlight()
Dim myRange As Range, cel As Range
Set myRange = Sheet1.Range("K:M")
n = Sheets("Sheet1").Range("K" & Sheets("Sheet1").Rows.Count).End(xlUp).Row
For Each cel In myRange
If cel.Row > n Then Exit For
If Trim(cel.Value) = "" Then cel.Interior.ColorIndex = 3
Next cel
End Sub