VBA例9 比對指定字符串的每個元素是否存在於另一個字符串中

VBA例9 比對指定字符串的每個元素是否存在於另一個字符串中

如題,簡化:在字符串1中查找字符串2中的每個字符,如果每個字符都存在於字符串1中,則符合結果

思路

1、設計一個函數,其有兩個參數s1,s2,類型皆為字符串,完成如下功能:依次提取s2中的每個字符,然後查找其是否存在於s1中,如果都存在,返回True,否則返回False

2、主程序提取第1步函數所需要的兩個參數,然後接收函數返回值,如果3次都返回True,則為需要的結果

代碼

Function Check(s1 As String, s2 As String)
 Dim i!, arr, l!, result!
 
 l = Len(s2)
 ReDim arr(1 To l)
 For i = 1 To l
 If VBA.InStr(1, s1, Mid(s2, i, 1)) > 0 Then result = result + 1
 Next i
 
 If result = 3 Then
 Check = True
 Else
 Check = False
 End If
​
End Function
​
Sub t()
 Dim arr, x!, y!, s1$, s2$, result!, brr
 
 [e2:e66356].ClearContents
 arr = [a1:d5]
 ReDim brr(1 To UBound(arr))
 
 For x = 1 To 5
 For y = 2 To 4
 s1 = arr(x, 1)
 s2 = arr(x, y)
 If Check(s1, s2) Then result = result + 1
 Next y
 If result = 3 Then brr(x) = arr(x, 1)
 result = 0
 Next x
 
 [e1].Resize(UBound(arr)) = Application.Transpose(brr)
​
End Sub

效果圖

VBA例9 比對指定字符串的每個元素是否存在於另一個字符串中


分享到:


相關文章: