【问题标题】:Excel finding blanks cellsExcel查找空白单元格
【发布时间】:2018-09-18 17:32:09
【问题描述】:

我尝试过使用 GUI 和 VBA 来查找和填空。

很遗憾,两者都没有找到最后一组空白。

例子:

如果我突出显示单元格 1 到 20,并使用 GUI(查找 -> 转到 -> 空白......) 它只突出显示完成线上方的项目。与此代码类似

With Range("B1:B20").SpecialCells(xlCellTypeBlanks)

如果我突出显示 17 到 20,并使用 GUI,它会找到/突出显示最后一个空白单元格。单元格包含数据(我已检查)。我能得到什么让 Excel 不在第 17 行停止

谢谢

【问题讨论】:

  • 看起来 Excel 会将自己限制在使用的范围内,在第 21 行输入一些东西(任何东西)会扩展它。现在应该填写第 18-20 行中的空白单元格
  • 是的,它似乎确实将自己限制为“使用的行”,这很奇怪,因为它说它会在你给它的 Range 对象中找到所有实例。逐个单元格返回,如下所示。

标签: vba excel


【解决方案1】:

试试这个简单的代码:

Sub HighlightBlanks1()
    Dim c
    For Each c In Range("B1:B20")
        If IsEmpty(c) Then
            c.Interior.ColorIndex = 3
        End If
    Next
End Sub
'or using your approach
Sub HighlightBlanks2()
    Range("B1:B20").SpecialCells(xlCellTypeBlanks).Interior.ColorIndex = 3
End Sub

【讨论】:

  • 是的,这是我用来告诉单元格实际上是空白的代码。但是,我尝试使用特殊单元格,因为它可以同时在一个范围内工作,并且应该逐个单元格地更快。