Excel宏选择案例

时间:2016-02-01 10:53:33

标签: excel vba excel-vba

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是一个数组。

谢谢你

2 个答案:

答案 0 :(得分:1)

您应该使用InStr来测试是否找到“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。

答案 1 :(得分:1)

编辑:现在应该可以了:

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