写了两个例子,都没做更多循环,供参考。
Public Sub CXzf()
Dim i As Byte, L(1 To 3), a
a = Array("a", "b", "c")
For i = 1 To 3
L(i) = IIf(InStr(Range("a1").Value, a(i - 1)) <> 0, InStr(Range("a1").Value, a(i - 1)), "a")
Next
If Application.Min(L) - 1 <= 0 Then MsgBox "查找字符不存在或为第一个字符!": Exit Sub
Range("B1").Value = Left(Range("A1").Value, Application.Min(L) - 1)
End Sub
Public Sub CXzf1()
Dim i As Byte, L As Byte, a, k As Byte
a = Array("a", "b", "c")
For i = 1 To Len(Range("a1").Value)
For L = 0 To 2
If Mid(Range("a1"), i, 1) = a(L) Then
If i = 1 Then MsgBox "查找字符为第一个字符!": Exit Sub
Range("B1").Value = Left(Range("A1").Value, i - 1)
k = 1
Exit Sub
End If
Next
Next
If k <> 1 Then MsgBox "查找字符不存在!"
End Sub