在值中查找字符

时间:2013-05-22 19:24:48

标签: excel vba

好的,我看到了一些类似的问题,但没有一个能解决我的问题。

我想要做的是浏览A列,对于包含*(星号)的每个cl,我想将值更改为0

如果我没弄错,星号必须与普通文本区别对待,因为它用于excel编码。如果我错了,但你知道另一个必须区别对待的字符或单词,请为读者和我自己的知识启发我们。

以下是我的代码应该是什么样的,非常感谢您的帮助

For each cl.value in range("A2:A300").
    If cl.value contains "*" then. Cl.value = 0.
End if.
Next cl. 

2 个答案:

答案 0 :(得分:2)

在您的情况下,很少有可能在VBA中编写正确的if statement。一个可以如下:

For Each cl In Range("A2:A300")
    If InStr(1, cl.Value, "*") > 0 Then
        cl.Value = 0
    End If
Next cl

答案 1 :(得分:1)

您可以使用查找/替换和过滤器的组合。

  1. 点击 Ctrl + H ,在查找中选择列A,放置~*,并将替换为空(代字号~用来逃避特殊字符。)
  2. 点击“更多选项”,然后点击替换框右侧的“格式化”按钮。
  3. 选择标签“填充”并选择一种颜色,比如黄色,然后选择“确定”。
  4. 确保未选中“匹配整个单元格内容”。
  5. 在Sheet中替换all(这应该填充所有包含黄色的单元格)。
  6. 选择列A,按黄色应用过滤器,选择值并删除(或通过键入0然后向下拖动将0放入其中)。
  7. 然后您可以删除填充。