在VBA中取得一个范围的子

我试图写一个Sub在VBA中需要一个Range

 Sub MarkCell(ByRef rng As Range, value As String) For Each C In Range.Cells If C = value Then aCell.Interior.ColorIndex = 3 End If Next C End Sub 

但是我得到了一个“编译错误:参数不可选”在我的For语句。 我错过了什么?

你需要参考rng参数。 不是Range类。

所以修正你的代码,如下所示。

 For Each C In rng.Cells If C = value Then C.Interior.ColorIndex = 3 End If Next C