【问题标题】:Issue with InStr and Left to return right text from stringInStr 和 Left 从字符串返回右文本的问题
【发布时间】:2015-07-27 13:24:14
【问题描述】:

我正在使用 Excel VBA 中的 string 中的一些 IBAN/SWIFT 代码,但我想从字符串中选择 IBAN 号码。

示例:
DK4520005010201483 IBAN NDEADKKKXXX
NL24ABNA0424079763 iban ABNANL2A
DE56300700100303808000 IBAN DEUTDEDD

上面的字符串保存在字符串iban
代码:

Dim cutDownStr as String, iban as string

cutDownStr = iban
fooStr = Left(cutDownStr, (Len(cutDownStr) - InStr(cutDownStr, " ")))
MsgBox fooStr

【问题讨论】:

    标签: string excel vba iban


    【解决方案1】:

    如果你想要的只是 iban 之前的子字符串,那么:

    Sub qwerty()
      iban = "DK4520005010201483 IBAN NDEADKKKXXX"
      foostr = Split(iban, " ")(0)
      MsgBox foostr
    End Sub
    

    【讨论】:

    • 谢谢 :) 我最终选择了标记答案,因为它有助于我更好地理解这个问题。谢谢你的回答。
    【解决方案2】:

    使用函数

    Function findIban(iban as String)
      fooStr = split(iban," ")
      findIban = fooStr(0) 
    End Function
    

    用法

    Dim cutDownStr as String
    
    cutDownStr = "DK4520005010201483 IBAN NDEADKKKXXX"
    fooStr = findIban(cutDownStr)
    MsgBox fooStr
    

    【讨论】:

    • 谢谢 :) 我最终选择了标记答案,因为它有助于我更好地理解这个问题。谢谢你的回答。
    【解决方案3】:

    您的问题是您的代码从整个字符串中删除了 IBAN 的长度。您需要在 IBAN 之后削减字符串的长度,包括空格。你可以这样做:

    fooStr = Left(cutDownStr, (Len(cutDownStr) - (Len(cutDownStr) - InStr(cutDownStr, " "))))
    

    【讨论】:

    • 谢谢!工作得很好。
    【解决方案4】:

    如果您的字符串没有很好地分隔,InstrRev 是一个很酷的函数,例如在示例中,IBAN 部分有时是 10 个字符,有时是 8 个字符。 InstrRev 像 Instr 一样为您提供字符数(从左侧开始),但它从右侧搜索字符串。在“/John/Son”中搜索“/”时,结果是 6 NOT 1。从那里您可以使用 Right Function。

        Sub IBANiac
        Dim IBAN1, FindIBAN as String
        IBAN1 = "DK4520005010201483 IBAN NDEADKKKXXX"
        findIBAN = right(IBAN1,len(IBAN1)-instrrev(_
        IBAN1,"IBAN ",-1,vbtextcompare))
        msgbox findIBAN
        'May want to add a +-1 to the second part of the right _
        function to account for spacing
        End Sub
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-21
      • 1970-01-01
      • 1970-01-01
      • 2020-05-26
      • 1970-01-01
      • 1970-01-01
      • 2017-04-16
      相关资源
      最近更新 更多