在工作簿的模块中添加以下函数:
Function allIn(str1, str2)
' check whether all elements of str1 occur in str2
' and vice versa
Dim l1, l2, ii As Integer
Dim isfound As Boolean
isfound = True
l1 = Len(str1)
l2 = Len(str2)
If l1 < l2 Then
' look for all the elements of str1 in str2
For ii = 1 To l1
If InStr(1, str2, Mid(str1, ii, 1), vbTextCompare) <= 0 Then
isfound = False
Exit For
End If
Next ii
Else
' look for all the elements of str2 in str1
For ii = 1 To l2
If InStr(1, str1, Mid(str2, ii, 1), vbTextCompare) <= 0 Then
isfound = False
Exit For
End If
Next ii
End If
allIn = isfound
End Function
现在,您可以使用result = inStr("ABD", "BAD")
- 或从电子表格本身从代码中的另一个位置调用它。在电子表格上,您将键入=allIn(A3, B6)
以比较单元格中的字符串A3
和B6
.
这是我这样做时发生的事情(我输入=allIn(A1, B1)
了 cell C1
,然后将公式拖到接下来的四行):
我相信这可以解决您的问题。
编辑:我刚刚注意到@Philip 对您的问题的评论 - 我似乎已经实施了他的建议,尽管我在开始编写它时没有看到它......但这里仍然是一个小技巧!