excel用vba实现单元格每个字符从左往右判断,是否包含a、b或c,如果是将首次出现a、b或c以左的字符串显示
excel用vba实现单元格每个字符从左往右判断,是否包含a、b或c,如果是将首次出现a、b或c以左的字符串显示在另外的单元格中...
excel用vba实现单元格每个字符从左往右判断,是否包含a、b或c,如果是将首次出现a、b或c以左的字符串显示在另外的单元格中
展开
3个回答
展开全部
写了两个例子,都没做更多循环,供参考。
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
展开全部
写代码应该方便些
追问
能分享一下方法吗
追答
怎么分享要有具体的数据才能知道怎么写?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
函数就可以实现
追问
怎么实现呢,求解
追答
如你数据在A1,B1输入公式:=OR(IF(ISNUMBER(FIND("a",A1)),LEFT(A1,FIND("a",A1)-1),""),IF(ISNUMBER(FIND("b",A1)),LEFT(A1,FIND("b",A1)-1),""),IF(ISNUMBER(FIND("c",A1)),LEFT(A1,FIND("c",A1)-1),""))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询