检查工作表中数组的值

时间:2013-10-05 23:57:58

标签: excel-vba vba excel

我有一个名为Ch Data的工作表,其中包含各种大小相同的表格。单元格J5,J20等包含每个表的用户输入标签。我想将这些表标签与允许的表标签的命名范围进行比较。如果用户输入的表格标签不在命名范围内,则消息应告知用户输入有效标签。我已经尝试将命名范围读入数组,然后循环遍历表标签和数组元素以进行比较。我在IF语句的行上出错了。错误是:“对象不支持此属性或方法”。我怀疑我无法正确定义或引用数组。有什么想法吗?

Private Sub Worksheet_change(ByVal Target As Range)
    Application.EnableEvents = False

    Dim LLChannels(), i As Long, j As Long
    Set ChData = Sheets("Ch Data")

    LLChannels = Application.Transpose(ChData.Range("Channels" & SymbolCount).Value)

    NumTables = (UsedRange.Rows.Count - 4) / 15
    For i = 5 To NumTables Step 15
        For j = 1 To UBound(LLChannels)
            If LLChannels(j) <> Me.Cells.["J" & i] Then
                MsgBox "Channel not in Frequency Plan. Enter valid channel."
            End If
        Next
    Next

    Application.EnableEvents = True
End Sub

1 个答案:

答案 0 :(得分:1)

这是你需要的吗?

If LLChannels(j) <> Range("J" & i).Value