查找并replace文本

我是新来的Excel中的VBA,有一个相当简单的问题。 我需要在列Bsearch特定的文本stringBath 。 如果它存在,那么我需要用KCabreplace同一行的C列中的特定文本stringBCab3 。 我需要运行或循环,直到它检查列B所有单元格。

这是我到目前为止,这是不工作的:

 Sub Correct_Attribute_Suffix() Dim c As Range Dim SrchRng Set SrchRng = ActiveSheet.Range("B3", ActiveSheet.Range("B65536").End(xlUp)) Do Set c = SrchRng.Find("BATH", LookIn:=xlValues) If Not c Is Nothing Then Currentcell.Offset(, 1).Value = Replace("KCab", "K", "B") Loop While Not c Is Nothing End Sub 

这只是使用偏移和replace来完成属性后缀调整的Find / FindNext操作。

 Sub Correct_Attribute_Suffix() Dim fnd As Range, addr As String With ActiveSheet.Range("B3", ActiveSheet.Range("B65536").End(xlUp)) Set fnd = .Find(What:="BATH", After:=.Cells(.Cells.Count), LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False) If Not fnd Is Nothing Then addr = fnd.Address Do fnd.Offset(0, 1) = Replace(fnd.Offset(0, 1).Value2, "KCab", "BCab3", 1, 1, vbTextCompare) Set fnd = .FindNext(After:=fnd) Loop While addr <> fnd.Address End If End With End Sub