我试图查看列表中的某个单词(或数字)是否在某个字符串中。
例如,我有以下短语:“2012 年 1 月 20 日和 2011 年”。
而且我正在尝试查看句子中是否包含月份,但是只要有一个月,句子中出现的月份就无关紧要。(所以“2012 年 2 月 20 日和 2011 年”也会过去)
我在想类似的事情:
Sub Run_Find()
Dim Month As String, Number, Year, Splitmonth As Variant
Dim ii As Integer
Month = "January, February, March, April, May, June, July, August, September, October, November, December"
Number = "1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 28, 29, 30, 31"
Year = "2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015"
Splitmonth = VBA.Split(Month, ",")
For ii = 0 To 12
If VBA.InStr(1, "January 30, 2012 and 2011", Splitmonth(ii)) > 0 Then
MsgBox "Found it!"
Else
MsgBox "Nop!"
End If
Next ii
End Sub
这行得通。但有替代方案吗?浏览一个列表,如果列表中的任何单词出现在字符串中,它应该通过。
最终我试图看到If
它包含一个月,And
一天(数字),And
一年,Then
..
使用这种方法似乎变得“过于复杂”。
在此先感谢,