EXCEL VBA评估和replace

我需要使评估工作replacefunction。 代码应该是什么都不代替“-0700”。 下面的代码与列C中的数据一起提供:

Set sh = ThisWorkbook.Sheets(1) Set rangc = sh.Range("c2:c10") For Each area In rangc.Areas area.Value = Evaluate("IF(ROW(" & area.Address & ")," & Replace(area.Address, " -0700", "") & ")") Next area 

– 这是工作表中的数据:

 ColumnC(original data) -0700 sdfg -0700 how -0700 saf 2016-10-16 10:13:41 -0700 ColumnC(After code is run) -700 sdfg -0700 how -0700 saf 10/16/2016 10:13 

为什么代码对第一行(-700)做了些什么,但没有用“”替代。 它也确实删除了第四行中的“-700”(10/16/2016 10:13)。 但它不适用于第二和第三行? 我如何使它适用于string或数字?

我正在尝试使用类似的代码很快地replace另一个string中的部分string。 我不能接受使用循环方法,因为有成千上万的行。

你不需要遍历整个范围。 你可以使用.Replace方法,这是非常快的:

 Set sh = ThisWorkbook.Sheets(1) Set rangc = sh.Range("c2:c10") rangc.Replace What:=" -0700", Replacement:=""