在充满随机数的列中搜索特定序列(Excel)

在充满随机数的列中搜索特定序列(Excel),excel,sequence,vba,Excel,Sequence,Vba,我有一列随机排列的数字 range("a1:a30") = [1 48 8 93 6 2 5 1 7 43 ***10 1 300*** 4 2 5 1 11 2 3 1 3 2 1 1 3 2 6 5 4] 在这些数据中,我想找到一个序列10 1300并突出显示它。不应突出显示300 10 1或10 300 1等序列 我尝试使用查找、条件格式和匹配,但没有任何效果。我尝试过的所有这些函数都返回一个值,而不是一个序列。实际上,实际数据有20000行长,我无法通过目视检查找到所需的顺序 编辑:

我有一列随机排列的数字

range("a1:a30") = [1 48 8 93 6 2 5 1 7 43 ***10 1 300*** 4 2 5 1 11 2 3 1 3 2 1 1 3 2 6 5 4] 
在这些数据中,我想找到一个序列10 1300并突出显示它。不应突出显示300 10 1或10 300 1等序列

我尝试使用查找、条件格式和匹配,但没有任何效果。我尝试过的所有这些函数都返回一个值,而不是一个序列。实际上,实际数据有20000行长,我无法通过目视检查找到所需的顺序


编辑:将序列从1 2 3更改为10 1 300

在顶部插入两行,从中清除任何格式,然后选择ColumnA HOME>Styles-条件性格式,新规则…,使用公式确定要格式化的单元格和格式化此公式为真的值:


格式化…,选择格式化选项,确定,确定。

您声明的公式包含错误,我收到一条错误消息,说“您输入的公式包含错误”。我不知道您使用的是哪个版本的excel,但我使用的是excel 2010,所以可能是他们更改了语法。它只突出显示了第一个值1。不突出显示后面的两个值。谢谢@EarlyBird2。工作完美!很好-没问题:-最后一个问题。如果我必须找到序列57 1 DF,代码中需要做哪些更改。字母数字序列的组合。因为上面提到的代码只适用于数值如果CellscRow,1.Value=57,那么如果CellscRow+1,1.Value=1,那么如果CellscRow+2,1.Value=DF,那么sRow=cRow eRow=cRow+2 SheetsData.RangeCellsRow,1,CellsRow,1.Interior.ColorIndex=3如果结束如果结束如果结束如果结束
=OR((A1048575=10)*(A1048576=1)*(A1=300),(A1048576=10)*(A1=1)*(A2=300),(A1=10)*(A2=1)*(A3=300))
Sub FindSequence()

    Dim rng As Range
    Dim lRow As Long 'the last row in column A with data
    Dim cRow As Long 'the current row for the loop below
    Dim sRow As Long 'start row of your sequence
    Dim eRow As Long 'end row of your saequence

    With Sheets("Data")
        lRow = Sheets("Data").Range("A" & .Rows.Count).End(xlUp).Row
    End With

    For cRow = 1 To lRow
        If Cells(cRow, 1).Value = 1 Then
            If Cells(cRow + 1, 1).Value = 2 Then
                If Cells(cRow + 2, 1).Value = 3 Then
                    sRow = cRow
                    eRow = cRow + 2
                    Sheets("Data").Range(Cells(sRow, 1), Cells(eRow, 1)).Interior.ColorIndex = 3
                End If
            End If
        End If
    Next cRow

End Sub