gpt4 book ai didi

excel - VBA函数根据字符串中特定字符的位置带回字符串的左侧

转载 作者:行者123 更新时间:2023-12-04 21:27:31 30 4
gpt4 key购买 nike

我正在尝试创建一个用户定义的函数,该函数返回字符串中最后一个连字符左侧的所有内容。所有字符串的格式如下:

  • CT2986-400427-15
  • J84705-202001-12
  • TF230068-003
  • DS2112-000038-11

  • 这是我当前的代码,但它一直显示#VALUE!单元格中的错误。有任何想法吗?
    Function PartNOSUFFIX(PartNo As String) As String

    PartNOSUFFIX = Left(PartNo, InStr(8, PartNo, "-") - 1)

    End Function
    提前致谢!

    最佳答案

    您想使用 Instrrev而是 Instr但反过来。这样它总是会找到最后一个连字符并返回它的位置。
    所以试试:

    Function PartNOSUFFIX(PartNo As String) As String

    PartNOSUFFIX = Left(PartNo, InStrRev(PartNo, "-") - 1)

    End Function
    您将获得#VALUE!如果单元格为空白或其中没有连字符,则会出错。如果你想解决这个问题,你可以使用这样的东西:
    Function PartNOSUFFIX(PartNo As String) As String

    If PartNo = "" Or InStr(PartNo, "-") = 0 Then
    PartNOSUFFIX = ""
    Else
    PartNOSUFFIX = Left(PartNo, InStrRev(PartNo, "-") - 1)
    End If

    End Function
    如果它正在查看的单元格是空白的或没有连字符,我只是让它返回空白。当然,您可以将其更改为您想说的任何内容。

    关于excel - VBA函数根据字符串中特定字符的位置带回字符串的左侧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67544145/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com