突出显示列中的空白单元格

时间:2019-06-18 20:46:01

标签: vba

我正在尝试突出显示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 个答案:

答案 0 :(得分:1)

尝试:

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

答案 1 :(得分:1)

您的代码似乎工作正常,将所有空白单元格突出显示为红色。问题是,当到达数据末尾时,您将无法中断循环,代码将一直突出显示空白单元格,直到工作表末尾(行1,048,576),这可能会导致Excel挂。

您可以找到最后一行数据,并在到达该行时跳出循环。以下内容将循环限制为“ K”列的长度(假设所有列的长度均相同)。

BOOL success;
if (respectSilence) {
    success = [[AVAudioSession sharedInstance]
               setCategory: AVAudioSessionCategoryAmbient
               error:&error];
} else {
    success = [[AVAudioSession sharedInstance]
               setCategory: AVAudioSessionCategoryPlayback
               error:&error];
}