range.replace方法不起作用

时间:2016-05-25 03:55:24

标签: excel excel-vba vba

以下是我想做的事情:

  • 根据column D
  • 中的列表替换sheet15 sheet1中的字词
  • sheet1中,col A包含了我要替换的单词列表,我想替换它的相应单词就在它旁边(在col B中)

当我在新工作簿中尝试它时,代码下面工作正常,但是当我将它放在我的项目中时,它没有。 我逐行调试它,没有错误,但是没有相应地更换单词。

我无法弄清楚出了什么问题。这里有人知道我哪里出错吗?

sub changeproc()        
Dim fromVal As String, toVal As String, cel As Range, lr As Long

With Sheet1  'validation list and replacement
    lr = .Cells(.Rows.Count, 1).End(xlUp).Row
    For Each cel In .Range("A1:A1" & lr)  'ori list in col a
        fromVal = cel.Value2
        toVal = cel.Offset(0, 1).Value2  'replacement list in col b
        'Sheet15.Range("D:D").Replace fromVal, toVal, xlWhole, , True  'replace at data sheet

    Next
End With

End Sub 

1 个答案:

答案 0 :(得分:1)

代码很好,只需确保使用正确的工作表名称。签入VBA项目,或确保使用表格(“name_here”)。

并且(可能很明显,但只是为了确定:P)取消注释这一行: 'Sheet15.Range("D:D").Replace fromVal, toVal, xlWhole, , True 'replace at data sheet