2016-08-19 78 views
0

我在写一个小型的VBA程序,需要根据字符串的第一个单词是“The”还是“the”来做两件不同的事情。到目前为止,我有这个,但它不符合他们。VBA比较StringArray()元素与字符串

Sub Venues() 

Dim masterFile As Workbook 
Set masterFile = ActiveWorkbook 

Dim venueSplitArray() As String 
Dim tempString As String 
venueSplitArray() = Split(masterFile.Sheets(Week).Cells(I, "E")) 
tempString = venueSplitArray(0) 

If StrComp(tempString = "The", 1) And StrComp(tempString = "the", 1) Then 
    ''''''CODE''''' 
Else 
    ''''''CODE''''' 
End If 

End Sub 

但是,这不是为我工作,总是返回字符串不匹配。

+0

它不应该是'StrComp(tempString =“The”,1)“,而应该是:'StrComp(tempString,”The“,1)”(您需要对两个“StrComp”调用进行调整)。 – tigeravatar

+1

当然你的'If'行应该是**或**而不是**和**? –

+0

另外,您应该省略第三个参数'1'或将其设置为'0',以便区分大小写比较,然后省略IF语句的'And ....'部分。 – tigeravatar

回答

1

如果要同时接受的“”或“”,然后使用:

If StrComp(tempString, "The", vbTextCompare) Then 

,如果你要区分“”从“了”,然后使用:

If StrComp(tempString, "The", vbBinaryCompare) Then