Excel.Range.Replace的唯一替代品

时间:2012-04-23 11:21:58

标签: c# wpf excel

如何用不同的字符串替换Excel中的相同实例?

我对Excel.Range.Replace的问题是该方法会替换单个调用中的所有匹配项。例如,如果我执行以下操作:

for (int i = 0; i < myNum; i++)
{
    myRange.Replace("foo", i.ToString());
}

然后所有“foo”将替换为 0 而不是 1,2,3。 ..

1 个答案:

答案 0 :(得分:1)

void ReplaceFoosWithNumbers()
{
    int i;
    Range c;
    string firstAddress;

    Range rangeToSearchIn =  Worksheets(1).Range("a1:a5");
    Set c = rangeToSearchIn.Find("Foo", LookIn:=xlValues)
    if (c != null) 
    {
        firstAddress = c.Address
        while (true)
        {
            c.Value = i
            i = i + 1
            c = rangeToSearchIn.FindNext(c)
            if (c == null)
                break;
        }
    }
}

编辑:请注意我在没有c#编辑器的情况下编写了此代码。这将需要一些更正。如果您需要任何帮助,请发表评论。