Подсветка пустых ячеек в столбцах - PullRequest
2 голосов
/ 18 июня 2019

Я пытаюсь выделить пустые ячейки в столбцах K, L, M.

Я попробовал приведенный ниже код

Sub highlight()
    Dim myRange As Range, cel As Range
    Set myRange = Sheet1.Range("K:M")
    For Each cel In myRange
      If Trim(cel.Value) = "" Then cel.Interior.ColorIndex = 3
    Next cel
End Sub

Чтобы выделить все пустые ячейки.

Ответы [ 2 ]

1 голос
/ 19 июня 2019

Ваш код работает нормально, он выделяет все пустые ячейки красным цветом. Проблема в том, что у вас нет возможности вырваться из цикла, когда вы достигнете конца ваших данных, код будет продолжать выделять пустые ячейки вплоть до конца листа (до строки 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
1 голос
/ 18 июня 2019

Попробуйте:

Sub Color_blank_cells()
'declare variables
  Dim ws As Worksheet
  Dim ColorRng As Range
  Set ws = Worksheets("WorksheetName")
  Set ColorRng = ws.Range("B3:C9")
'color blank cells'
  ColorRng.SpecialCells(xlCellTypeBlanks).Interior.Color = RGB(220, 230, 241)

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...