0

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

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

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

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

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

2 回答 2

2

if statement根据您的情况,在 VBA 中编写正确的方法很少。一种可能如下:

For Each cl In Range("A2:A300")
    If InStr(1, cl.Value, "*") > 0 Then
        cl.Value = 0
    End If
Next cl
于 2013-05-22T20:56:11.033 回答
1

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

  1. 点击Ctrl+ H,选择 A 列,在查找中,放置~*,并将替换留空(波浪号~用于转义特殊字符)。
  2. 单击“更多选项”,然后单击替换框右侧的“格式”按钮。
  3. 选择“填充”选项卡并选择一种颜色,比如黄色,然后选择“确定”。
  4. 确保未选中“匹配整个单元格内容”。
  5. 全部替换工作表(这应该用黄色填充所有包含黄色的单元格)。
  6. 0选择 A 列,按黄色应用过滤器,选择值并删除(或通过键入并向下拖动将 0 放入其中)。

然后,您可以删除填充。

于 2013-05-22T19:31:01.867 回答