Excel VBA:如果在string数组中存在该字,则将“string中的字”存储到variables中

假设我的string是

my_string="MY PET IS CAT " 

我也有一个数组

 my_animals=Array ("CAT","DOG","LION") 

由于数组中的一个string(CAT)存在于my_string中,所以我想让CAT在一个variables中。

我们怎样才能做到这一点?

 Dim my_string As String, my_animals As Variant, element As Variant, variable as String my_string = "MY PET IS CAT " my_animals = Array("CAT", "DOG", "LION") For Each element In my_animals If InStr(my_string, element) Then variable = element End If Next element 

只是为了后人,这是一个(不是特别辉煌,但function)的方式添加my_animals中findmy_string 任何元素:

 Public Sub FindAnimals dim my_string as String dim my_animals as Variant dim found(0) as String dim animal as String my_string="MY PETS ARE CAT AND LION" my_animals=Array ("CAT","DOG","LION") For Each animal in my_animals If InStr(my_string, animal) Then found(UBound(found)) = animal ReDim Preserve found(UBound(found) + 1) End If Next animal End Sub 

运行后, found将是一个包含三个元素的String数组:

  • "CAT"
  • "LION"
  • ""

正如我所说,这不是世界上最伟大的方法,但它可能是一个更好的起点。