2014-12-02 237 views
0

我想检查一个字符串中的当前值是否已经存在于给定的字符串中。我为父字符串(单元格中的现有字符串,活动单元格)和搜索字符串使用了两个变量。如果当前字符串完全存在于父字符串中,则会弹出一个消息框询问用户是否要粘贴相同的内容。类型不匹配错误InStr与两个字符串变量

在第一个IF条件下,我得到一个类型不匹配错误。你能帮我理解这个问题是什么吗?

If (InStr(ActiveCell.Value, NRemark, vbBinaryCompare)) = 0 Then 
Exit Sub 
Else 
Lresponse = MsgBox("You have already synced the same content . Would you like to continue ?", vbYesNo) 
    If Lresponse = vbYes Then 
    GoTo V1 ' goes to the loop to append NRemark to the parent string 
    Else 
    Exit Sub 
    End If 
End If 

回答

1

采取在InStr函数看看参数:

功能InStr函数([开始],[字符串1],[字符串2],[比较作为VbCompareMethod = vbBinaryCompare])

第一个参数是[开始],在你的情况下可能应该是1值的常数。

如果(InStr函数(1,ActiveCell.Value,NRemark,vbBinaryCompare))= 0,那么...

这应该工作,至少是暂时的,直到你遇到空细胞,细胞有错误等等,在这种情况下它会再次破裂。

此外,我不能告诉你的NRemark变量是什么类型。它必须是一个字符串,所以如果它是一个单元格,则应该放置NRemark.Value。

+0

NRemark是单元格中的字符串内容。我是否还需要放置NRemark.value? – dagan 2014-12-03 00:14:07

相关问题