Excelmacrosselect大小写

SM1 = "5000" SM = "SPOTMARKET" SM = "*" & SM & "*" Select Case Cells(H + 2, 24).Value Case SM,SM1 C(j) = "SPOTMARKET" End Select 

我试图做这样的事情,但“SM”不能像它想象的那样工作。 我希望C(J)=“SPOTMARKET”,当单元格(H + 2,24)中有单词spotmarket的时候。 它可能是WRER-SPOTMARKET或相反的SPOTMARKET-WRER。

这行是在内部对于j = 0到XXX和对于H = 0到XXX。 C是一个数组。

谢谢

您应该使用InStr来testing是否find“SPOTMARKET”。

 If InStr(Cells(H + 2, 24), "SPOTMARKET") > 0 Then C(j) = "SPOTMARKET" ElseIf InStr(Cells(H + 2, 24), "FORWARDMARKET") > 0 Then C(j) = "FORWARDMARKET" End If 

InStr返回0,如果不匹配,则返回一个大于0的整数。

编辑:现在它应该工作:

 Public Sub Testing() Dim sm1 Dim k k = "lalal SPOTMARKET ale" sm1 = "5000" Select Case True Case k Like "*SPOTMARKET*", sm1 Debug.Print "Found" End Select End Sub 

这里有一个很好的例子:

https://msdn.microsoft.com/en-us/library/swf8kaxw.aspx