2017-04-26 155 views
-1

我在替換代碼中的範圍變量WeekdayRule時遇到問題。第三行代碼工作得很好。下面的第四行代碼觸發一個應用程序定義或對象定義的錯誤'1004'問題代替範圍變量(Excel VBA)

我在這裏錯過了什麼?

Dim WeekdayRule As Range 
    Set WeekdayRule = ActiveSheet.Range("M17:O112") 

    ActiveSheet.Range("M17:O112").FormatConditions.Delete 

    With ActiveSheet.Range("WeekdayRule").FormatConditions _ 
     .Add(Type:=xlExpression, Formula1:="=AND(M17<=($N$8*$V17), $V17>=$N$9)") 
     .Interior.ColorIndex = 44 
    End With 
+0

'ActiveSheet.WeekdayRule.FormatConditions'使用它並在行尾刪除_。 – Masoud

回答

1

WeekdayRule已經是一個定義的範圍對象,所以使用:

WeekdayRule.FormatConditions.Delete 
With WeekdayRule.FormatConditions _ 
... 
-1

你需要以指定FormatCondition(注意單數)對象指定條件格式的指數集合你想刪除。例如:

ActiveSheet.Range("M17:O112").FormatConditions(index).Delete 
+0

這不是真正的問題。首先他說這行代碼運行良好。其次,如果你想刪除* all * FormatConditions並且因此複數是正確的,你不需要指定索引。 –