1

我之前问过如何检查一段文本是否包含字符串,现在我想删除该单元格中的那段字符串。

如果 C 列中的值与 W 列不同,我检查 A 列是否包含“MIG”,如果是,我将其添加到单元格中,如果不是,我什么也不做。

因为每次保存时都会运行此宏,如果您要编辑 W 和 C 中的值以使其匹配,那么 A 列仍会显示“MIG”。

所以当文档被保存时,宏现在将看到列 C 和 W 是相同的,如果它包含“MIG”,它应该从单元格中删除“MIG”。

样本

If shtVO.Cells(Row, 3).Value <> shtVO.Cells(Row, 23).Value Then
  If shtVO.Cells(Row, 1).Value Like "*MIG*" Then
  Else
    shtVO.Cells(Row, 1).Value = shtVO.Cells(Row, 1).Value + "MIG"
  End If
Else
  If shtVO.Cells(Row, 3).Value = shtVO.Cells(Row, 23).Value Then
    If shtVO.Cells(Row, 1).Value Like "*MIG*" Then
        .....              
    End If
  End If
End If
4

3 回答 3

2

不确定我是否理解您的逻辑,但要清除单元格值使用

shtVO.Cells( ... ).ClearContents

编辑

用于Replace

shtVO.Cells( ... ).Value = Replace(shtVO.Cells( ... ).Value, "MIG", "")

MIG
您的其余评论涉及替换Eg后留下双倍空格的可能性"Fisrt MIG second" -->"Fisrt  second"

于 2012-09-11T08:56:28.613 回答
1

您可以使用 Replace() 函数:

If shtVO.Cells(Row, 1).Value Like "*MIG*" Then
   shtVO.Cells(Row, 1)=Replace(shtVO.Cells(Row, 1),"MIG","")
End If
于 2012-09-11T09:06:44.523 回答
0
If shtVO.Cells(Row, 1).Value Like "*MIG*" Then
    shtVO.Cells(Row, 1).Replace What:="MIG", Replacement:="", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
End If

这也有效:)

于 2012-09-11T09:04:50.317 回答