リストの特定の単語 (または数字) が特定の文字列に含まれているかどうかを確認しようとしています。
たとえば、「2012 年 1 月 20 日と 2011 年 1 月 20 日」というフレーズがあります。
そして、月が文に含まれているかどうかを確認しようとしていますが、月がある限り、文にどの月が含まれていても問題ありません。(したがって、「2012 年 2 月 20 日と 2011 年 2 月 20 日」も通過します)
私は次のようなことを考えていました:
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
ます..
この方法を使用すると、「複雑になりすぎる」ようです。
前もってありがとう、R