如果isblank vba突出显示单元格

时间:2014-04-16 13:55:18

标签: excel vba excel-vba conditional-formatting

您好我有以下代码,但它提示object_worksheet的错误范围失败。我不确定我做错了什么(我已经使用record宏找到了vba代码并只是复制和粘贴,除了我已经替换了所有{{1} } selection指示范围是最后一个带有值的单元格。另外,如果我要将子更改为ws.range(emptyrow)并且具有sub highlightemptycell_change()语句:"如果任何单元格被更改,那么执行以下操作"我将如何用vba语言编写它?

if

1 个答案:

答案 0 :(得分:0)

我不确定你到底在做什么。特别是,我不确定这条线的重要性,

ws.Range(emptyrow).FormatConditions(1).StopIfTrue = False   

特别是当单元格在执行时没有条件格式时。

但是下面的宏似乎会做你所做的事情,如果它被清理了一下并用正确的语法编写

Option Explicit
Sub highlightemptycell()
    Dim ws As Worksheet
    Dim r As Range
    Dim emptyrow As Long
    Dim err As Range

    Dim rEmptyRow As Range '<-- range object added to use below

    Set ws = Worksheets("Master")
    Set rEmptyRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Offset(rowoffset:=1)    '<<< safer....

With rEmptyRow.FormatConditions
    If .Count > 0 Then .Item(1).StopIfTrue = False
    .Add Type:=xlExpression, Formula1:= _
        "=ISBLANK(" & rEmptyRow.Address & ")"
        .Item(.Count).SetFirstPriority
    With .Item(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 5287936
        .TintAndShade = 0
    End With
End With
End Sub