vba如果单元格包含任何格式的字符串

时间:2016-03-28 20:41:08

标签: vba excel-vba excel

我一直在寻找过去的一小时,因为我似乎无法找到一个超越我的用例的例子(虽然在我看来非常简单)。我有一个for循环搜索列中的所有单元格,如果一个单元格包含字符串打开,则它会将数据添加到另一个单元格。我遇到的问题有时单元格包含打开打开12/12/12 等。目前我的代码如下。我无法弄清楚如何忽略区分大小写,如果单元格包含此值,则将其更改为"仍然打开或关闭"。

If Cells(X, C) = UCase("Closed") Then
  Cells(X, Q).Value = "Closed"
ElseIf Cells(X, C) = UCase("Open") Then
  Cells(X, Q).Value = "Still open"
End If

如果单元格仅包含"已关闭"或"打开"。框中的任何不同拼写或其他文本都会导致此操作失败。是否有一种简单的方法来搜索单元格是否包含任何格式的" StRiNG"我正在寻找?

1 个答案:

答案 0 :(得分:4)

要完成模式匹配Select Case statement可能更合适。

Select Case True
    Case LCase(Cells(x, c).Value2) Like "*closed*"
        Cells(x, q) = "Closed"
    Case LCase(Cells(x, c).Value2) Like "*open*"
        Cells(x, q) = "Still Open"
    Case Else
        'something else
End Select

这将删除区分大小写以及搜索关闭作为整个单元格内容的子字符串。

相关问题