【问题标题】:searching for 3" in a string using InStr() vba使用 InStr() vba 在字符串中搜索 3"
【发布时间】:2014-03-31 01:22:36
【问题描述】:

我正在尝试搜索包含双引号 " 的字符串。前任。在较大的字符串43-9120-BT-1207-3"-150H21-NI 中搜索字符串 3"。目前这就是我所拥有的。

Dim line As String
line = "43-9120-BT-1207-3"-150H21-NI"

If InStr(1, line, Str$(34) & 3" & Str$(34)) > 0 Then
.
.
.
end if

我永远无法进入 if 语句,尝试了许多 Str$(34)s 和多个 "s 的组合,但我得到了错误

预期:列表运算符

谁能解释一下如何搜索一个以双引号结尾的字符串?

【问题讨论】:

    标签: string vba search


    【解决方案1】:

    这将在您的line 字符串中找到3"

    'assuming:
    'activecell = 43-9120-BT-1207-3"-150H21-NI
    'next:
    line = activecell
    'search for 3"
    If InStr(1, line, "3" & Chr(34)) > 0 Then MsgBox "OK"
    

    【讨论】:

    • +1 并恭喜你达到 10K 我什至没有注意到你什么时候升级了 ;) 恭喜
    【解决方案2】:

    如果该行是硬编码的,则需要通过双引号将其转义:

    line = "43-9120-BT-1207-3""-150H21-NI"

    这些也是双引号",这些是单引号',你可能想稍微改变一下你的问题。

    编辑:同时更正您的第二行。

    If InStr(1, line, "3""" ) > 0 Then

    【讨论】:

    • im 使用 VLookup 并返回字符串,我将其保存到变量行中。
    猜你喜欢
    • 2011-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-02
    • 2015-12-25
    • 1970-01-01
    • 2017-02-09
    相关资源
    最近更新 更多