采用列VBA的模式

时间:2019-02-20 13:33:46

标签: excel vba

我是VBA的新手,正在寻找一种标记列中值的方法。我有一个包含11列和210行的电子表格(每列会有不同的模式),并希望突出显示与每列模式都不匹配的数字。

这就是我现在拥有的:

For n = 1 To 11

    Dim x As Variant
    Dim y As Variant

    x = Sheets("Sheet3").Cells(2, n).Value
    y = Sheets("Sheet3").Cells(211, n).Value

    With Range(Cells(2, n), Cells(211, n)).FormatConditions.Add(xlCellValue, xlNotEqual, WorksheetFunction.Mode(Range(x, y).Value))
        With .Font
            .Bold = True
            ColorIndex = 3
        End With
    End With

Next n

我遇到错误:

  

运行时错误'1004':对象'_Global'的方法'Range'失败

在我对worksheetfunction.mode进行定义时遇到错误之前。

1 个答案:

答案 0 :(得分:1)

您需要将Range对象传递给函数,而不是传递值,例如

WorksheetFunction.Mode_Sngl(Range("A1:A100"))

在您的代码中,您当前正在按其外观而不是Range

传递单元格的值