Try something like this:
Dim array1 As Variant
array1 = Array("... cats ...", " ...Dogs ...", " ...Cats and dogs ...", "another text")
Dim array2 As Variant
array2 = Array()
Dim t
For Each t In array1
If InStr(1, t, "cats", vbTextCompare) > 0 Or InStr(1, t, "dogs", vbTextCompare) > 0 Then
ReDim Preserve array2(UBound(array2) + 1)
array2(UBound(array2)) = t
End If
Next
It is also possible to exclude words like "ducats" or "hotdogs".