使用range.replace更改单元格

时间:2014-02-17 11:58:50

标签: c# excel

我有一个迷你程序,用=' C:\开始更改所有excel单元格,但我有一个问题。我使用range.replace来做到这一点,但我的程序工作错误,因为它不会改变所有单元格包含=' C:\,只改变第一个找到它而我不知道出于什么原因。

我的代码是:

foreach (Excel.Worksheet sheet in xlWorkBook.Sheets)
{
    string sheetName = sheet.Name;
    Console.WriteLine(sheetName);


    //seleccion rango activo
    range = sheet.UsedRange;

    //leer las celdas
    int rows = range.Rows.Count;
    int cols = range.Columns.Count;
    //Excel.Range startCell = sheet.Cells[1, 1];
    //Excel.Range endCell = sheet.Cells[rows, cols];
    sheet.Range["A1:J1000"].Replace(@"='C:\", @"='T:\");

    //range = sheet.UsedRange;
    // leer las celdas
    //int rows = range.Rows.Count;
    //int cols = range.Columns.Count;

    //}
    // liberar
    releaseObject(sheet);
    }

1 个答案:

答案 0 :(得分:1)

您需要为所选范围内的每个单元格执行另一个foreach - 循环。

我现在无法对此进行测试,但这应该可行:

object whatToReplace = "what you want to replace";
object replacement = "what you want to replace it with";

foreach(Range cell in range)
{
    cell.Replace(whatToReplace, replacement);
}