Another way that uses arrays and MATCH() to see if it's there
Option Explicit
Dim EO(1 To 2 ^ 6) As String, DU(1 To 2 ^ 6) As String
Sub InitializeReferences_2()
Dim i1 As Long, i2 As Long, i3 As Long, i4 As Long, i5 As Long, i6 As Long
Dim n As Long
n = 1
For i1 = 0 To 1
For i2 = 0 To 1
For i3 = 0 To 1
For i4 = 0 To 1
For i5 = 0 To 1
For i6 = 0 To 1
EO(n) = IIf(i1 = 0, "E", "O") & IIf(i2 = 0, "E", "O") & IIf(i2 = 0, "E", "O") & _
IIf(i4 = 0, "E", "O") & IIf(i5 = 0, "E", "O") & IIf(i6 = 0, "E", "O")
DU(n) = IIf(i1 = 0, "D", "U") & IIf(i2 = 0, "D", "U") & IIf(i2 = 0, "D", "U") & _
IIf(i4 = 0, "D", "U") & IIf(i5 = 0, "D", "U") & IIf(i6 = 0, "D", "U")
n = n + 1
Next
Next
Next
Next
Next
Next
End Sub
Sub drv()
Dim v As Variant
InitializeReferences_2
On Error Resume Next
With Application.WorksheetFunction
v = -1
v = .Match("EOOEOO", EO, 0)
MsgBox (v <> -1)
v = -1
v = .Match("DUUDUU", DU, 0)
MsgBox (v <> -1)
v = -1
v = .Match("ABCDEF", EO, 0)
MsgBox (v <> -1)
End With
On Error GoTo 0
End Sub
Probably more elegant ways, but this seems most straight forward (IMHO)