【怎么获取含有相同字符的字符串中该字符第n次出现的位置?】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
效果如下图所示:
文章插图
推荐阅读
- 怎么将数字金额转换成中文大写金额?
- 怎么理解公式中的数组?
- 怎么获取公式、在用户窗体中操作工作表、列出用户窗体名称等问题的答疑
- 怎么禁用Excel中的剪切、复制、粘贴功能?
- 怎么改变用户窗体中的鼠标图形?
- 怎么处理用户窗体右上角的X按钮?
- 数学想象画怎么画
- 虫子拼音怎么拼
- 多音字“蒙”怎么读音和组词?
- 拼多多旗舰店是官方的吗?怎么入驻?