我想请求一些关于如何在我的vba代码中加入if-then语句的帮助,找到并替换某些文本。
我的情况有几组数字:8815,0815,1234& 5678和我当前的代码找到“815”并用'0815替换它,这样前导零就不会丢失。很糟糕的是,我的问题是它在0815数字集上正确执行的替换语句,并且正在8815数字集上执行。
我如何写一个命令来说,如果8815然后是8815,但如果“815”不在数字中则不更改数字?
Columns("H").Replace What:="815", Replacement:="'0815", SearchOrder:=xlByColumns
我很感激任何帮助,因为我已经四处寻找并且没有找到太多关于此的内容。
答案 0 :(得分:2)
使用参数LookAt:=xlWhole
只有当单元格中的值正是您要查找的值时才会替换它。
答案 1 :(得分:0)
正如Barry所说,它应该是:
列(" H:H")。替换内容:=" 815",替换:="' 0815",LookAt:= xlWhole
或者如果你想使用IF语句,那么它应该是这样的:
Sub test()
Dim rngColumn As Range
Dim rngCell As Range
Set rngColumn = Worksheets("Sheet1").Columns("H")
For Each rngCell In rngColumn.Cells
If Trim(rngCell) <> "" Then
If Trim(rngCell) = "815" Then
rngCell.Value = "'0815"
End If
End If
Next rngCell
Set rngColumn = Nothing
Set rngCell = Nothing
End Sub