使用工作表。 。replace特定单元格的函数而不是整个列/行

以下代码适用于replace整个列中的特定值:

Worksheets("Sheet1").Columns(MyColumnLetter).Replace _ what:=val_Old, Replacement:=val_New, lookat:=xlWhole, _ SearchOrder:=xlByColumns, MatchCase:=False 

但是,我只需要replace特定单元格中的值(例如在单元格“D9”中作为vba循环的一部分)而不是整个列或单元格区域。

任何人都可以请build议上面的代码所需的修改?

谢谢。

如果你想遍历整个D列(直到最后一行):

 Option Explicit Sub Replace_ColumnD() Dim sht1 As Excel.Worksheet Dim LastRow As Long Dim lrow As Long Dim val_new As String Dim val_old As String Set sht1 = ActiveWorkbook.Worksheets("Sheet1") LastRow = sht1.Cells(sht1.Rows.Count, "D").End(xlUp).Row For lrow = 1 To LastRow sht1.Cells(lrow, 4).Replace val_old, val_new Next End Sub 

replace一个单元格中的值A2:

 Range("A2").Replace oldValue, newValue 

replace范围内的值:

 Range("A2:A10").Replace oldValue, newValue 

多谢你们。 确实非常有用。 最后代码如下所示:

 For i = 2 To LastRow MyRange = MyColumnLetter & i If....condition met: Worksheets("Sheet1").Range(MyRange).Replace val_Old, val_New End If Next