Hello,
I have a VB code like the one given below.
I'm trying to achieve the same functionality in c#. But could not find the Replace function as in VB.
VB Code
Index = 2;
formula = "8.09331951577158-3.45596769548775E-02*X^1+1.79729745455284E-05*X^2-3.31696353974908E-09*X^3+2.77566533348736E-13*X^4-8.40169194251658E-18*X^5";
Set xRange = vSheet.Range(vSheet.Cells(1, (Index * 4) - 1), vSheet.Cells(500, (Index * 4) - 1))
Set yRange = vSheet.Range(vSheet.Cells(1, (Index * 4)), vSheet.Cells(500, (Index * 4)))
xMinVal = 390
xMaxVal = 13400
step = (xMaxVal - xMinVal) / (500- 1)
Xvalue(1, 1) = xMinVal
For i = 2 To 500 - 1
Xvalue(i, 1) = Xvalue(i - 1, 1) + step
Next i
Xvalue(500, 1) = xMaxVal
xRange.value = Xvalue
vSheet.Names.Add name:="X" & Index & "P", RefersTo:=xRange
yRange = "=" & Replace(Formula, "X", "X" & Index & "P")
c# Code
xRange = (Excel.Range)newWorksheet.get_Range((Excel.Range)newWorksheet.Cells[1, (2 * 4) - 1], (Excel.Range)newWorksheet.Cells[NB_POINTS_POLYNOME, (2 * 4) - 1]);
yRange = (Excel.Range)newWorksheet.get_Range((Excel.Range)newWorksheet.Cells[1, (2 * 4)], (Excel.Range)newWorksheet.Cells[NB_POINTS_POLYNOME, (2 * 4)]);
step = (xmax - xmin) / (NB_POINTS_POLYNOME - 1);
xValue[1,0] = xmin;
for (int i = 2; i < 500; i++)
{
xValue[i,0] = xValue[(i - 1),0] + step;
}
xValue[NB_POINTS_POLYNOME-1,0] = xmax;
xRange.Value2 = xValue;
newWorksheet.Names.Add("X", xRange);
yRange = (Excel.Range)newWorksheet.Range.Replace(formula, "X", "X", 2, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
I am unable to retrieve Y range values. I am not getting how to replace the formula as in VB so that Yrange is retrieved correctly.
Thanks in advance.
Jyoti