Já faz muito tempo desde que eu fiz o VBa e não posso testar isso, mas isso deve dar um bom começo se ele não compilar ou mesmo funcionar exatamente como necessário.
' check whether all elements of str1 occur in str2
' and vice versa.
Function allIn(str1, str2) As Boolean
'first thing to check is if the 2 strings are the same length, if they're not then we know they are different
If Len(str1) <> Len(str2) Then
allIn = False
End If
Dim isfound As Boolean
isfound = True
'Get the 1st string as array (split by white space)
Dim s1() As String
s1() = Split(str1)
'iterate through each array, word at a time
For Each element In s1
If Not InStr(str2, element) Then
isfound = False
End If
'if it wasn't found, we can exit the loop immediately (no point finishing the test as it's already failed)
If (isfound = False) Then
Exit For
End If
Next element
allIn = isfound
End Function
Eu tenho algumas preocupações sobre este código, como o que acontece se uma parte extra do espaço em branco estava no início ou na cauda do str1 ou str2 ... No entanto, isso deve fazer o que sua pergunta está perguntando (novamente , não testado)
Pode ser necessário garantir que a string esteja sempre aparada e, ou em minúsculas, ao fazer a comparação, etc., sem saber como ela funciona no VBa.