当前位置: 主页 > Office办公 > Excel专区 > Excel教程 > 如何获取含有相同字符的字符串中该字符第n次出现的位置?

如何获取含有相同字符的字符串中该字符第n次出现的位置?

  • 2022-07-05
  • 来源/作者: Wps Office教程网/ 菜鸟图库
  • 121 次浏览

Q有时候,我们需要获取字符串中某字符第n次出现的位置。例如,在单元格A1中的字符串为“xy-01-02”,如何知道字符“”第2次出现的位置呢?(当然,我们数一下,就可以知道在该字符串的第6位第2次出现了字符“”)

A我们这里使用VBA代码自定义函数来实现,详细的代码清单如下:

FunctionGetNthPos(str, n, separator) As Long

Dim sp As Variant

Dim i As Long, num As Long

sp = Split(str, separator)

If n > UBound(sp) Then

MsgBox “不存在这个位置!”

Exit Function

End If

For i = 0 To n – 1

num = Len(sp(i)) + num

Next

GetNthPos = num + n

EndFunction

效果如下图所示:

如何获取含有相同字符的字符串中该字符第n次出现的位置?