VBA IF / THEN查找和replace

我想问一些关于如何在我的vba代码中joinif-then语句的帮助,这些代码可以查找和replace某些文本。

我的情况有几组数字:8815,0815,1234和5678,我现在的代码find“815”,并用“0815”代替,这样前导零不会丢失。 Ovbiously我的问题是它在0815数字集上正确执行的replace语句,正在8815数字集上执行。

我该怎么写一个命令来说,如果8815然后是8815,但是如果“815”不在数字中,就不改变数字?

Columns("H").Replace What:="815", Replacement:="'0815", SearchOrder:=xlByColumns 

我感谢任何帮助,因为我已经四处寻找了几个小时,并没有发现太多。

使用参数LookAt:=xlWhole如果单元格中的值恰好是您正在查找的值,则只会replace它。

正如巴里所build议的,应该是:

列(“H:H”)。replace内容:=“815”,replace:=“'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