You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用VBA查找链接中第5个斜杠"/"的位置?

修正后的VBA函数:查找第N个斜杠的位置

原代码存在几个关键问题:N变量未赋值(你要找第5个斜杠,需将N设为5)、直接修改原单元格会覆盖原始链接、循环逻辑不够严谨。下面是修正后的代码,既能精准定位第5个斜杠的位置,还能保留原始链接:

Function FindNthSlash() As Integer
    Dim sFindWhat As String
    Dim sInputString As String
    Dim targetCount As Integer ' 要查找的斜杠序号,这里设为5
    Dim currentPos As Integer
    Dim i As Integer
    
    sFindWhat = "/"
    sInputString = Range("A1").Value ' 从A1单元格获取原始链接
    targetCount = 5 ' 指定查找第5个斜杠
    currentPos = 0
    
    Application.Volatile
    
    ' 循环定位第targetCount个斜杠
    For i = 1 To targetCount
        currentPos = InStr(currentPos + 1, sInputString, sFindWhat)
        ' 如果找不到足够数量的斜杠,返回0
        If currentPos = 0 Then
            FindNthSlash = 0
            Exit Function
        End If
    Next i
    
    ' 返回第5个斜杠的位置
    FindNthSlash = currentPos
End Function

使用方法:

在Excel任意空白单元格(比如B1)输入=FindNthSlash(),即可得到A1链接中第5个斜杠的位置。

更通用的版本(支持自定义输入)

如果需要更灵活的功能,比如指定任意单元格内容、查找任意字符的第N次出现位置,可以用这个版本:

Function FindNthChar(inputStr As String, findChar As String, nth As Integer) As Integer
    Dim currentPos As Integer
    Dim i As Integer
    
    currentPos = 0
    
    For i = 1 To nth
        currentPos = InStr(currentPos + 1, inputStr, findChar)
        If currentPos = 0 Then
            FindNthChar = 0
            Exit Function
        End If
    Next i
    
    FindNthChar = currentPos
End Function

使用时在单元格输入=FindNthChar(A1,"/",5),就能直接获取结果。

内容的提问来源于stack exchange,提问作者Newton Kapildev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 13:37:23