Sub AlphaCompare()
Dim strMin As String, strMax As String
Dim cell As Range, rng As Range
Dim strLimit As String
Set rng = Range("A1:A50") ' Your range of values you want to parse
strMin = Range("B1").Value ' Just need to adjust ranges here to suit where your data and constraints are
strMax = Range("B2").Value
If strMin = "" And strMax <> "" Then GoTo UpperLimit
If strMax = "" And strMin <> "" Then GoTo LowerLimit
If strMin <> "" And strMax <> "" Then strLimit = "Ranged": GoTo UpperLimit
If strMin = "" And strMax = "" Then End
UpperLimit:
For Each cell In rng
If Len(strMax) > Len(cell.Value) Or cell.Value = "" Then GoTo nextUpper
If Len(strMax) < Len(cell.Value) Then cell.Clear: GoTo nextUpper
For i = 1 To Len(cell.Value)
If Asc(LCase(Mid(cell.Value, i, 1))) > Asc(LCase(Mid(strMax, i, 1))) Then cell.Clear: GoTo nextUpper
If Asc(LCase(Mid(cell.Value, i, 1))) < Asc(LCase(Mid(strMax, i, 1))) Then GoTo nextUpper
Next i
nextUpper:
Next cell
If strLimit = "Ranged" Then GoTo LowerLimit
End
LowerLimit:
For Each cell In rng
If Len(strMin) < Len(cell.Value) Or cell.Value = "" Then GoTo nextLower
If Len(strMin) > Len(cell.Value) Then cell.Clear: GoTo nextLower
For i = 1 To Len(cell.Value)
If Asc(LCase(Mid(cell.Value, i, 1))) < Asc(LCase(Mid(strMin, i, 1))) Then cell.Clear: GoTo nextLower
If Asc(LCase(Mid(cell.Value, i, 1))) > Asc(LCase(Mid(strMin, i, 1))) Then GoTo nextLower
Next i
nextLower:
Next cell
End
End Sub