0

Ive had a google but no luck and AI isnt sure whats wrong either im receiving a call stack size exceeded.

This is on excel online

function AddStock() {
  var sheet4: string = context.workbook.worksheets.getItem("Sheet4");
  var sheet1: string = context.workbook.worksheets.getItem("Sheet1");
  var valueB7: string = sheet4.getRange("B7").getValue();
  var valueC7: string = sheet4.getRange("C7").getValue();
  var valueD7: string = sheet4.getRange("D7").getValue();

  if (valueB7 === "ConsumableStock[Name]") {
    var rangeC: string = sheet1.getRange("C:C");
    var ConRef: string = context.workbook.functions.match(valueC7, rangeC, 0);
    var rangeH: string = sheet1.getRange("H" + ConRef);
    var currentValueH: string = rangeH.getValue();
    rangeH.setValue(currentValueH + valueD7);
    sheet4.getRange("E7").setValue(0);
    sheet4.getRange("D7").setValue("");
    sheet4.getRange("C7").setValue("");
  } else {
    var sheet3: string = context.workbook.worksheets.getItem("Sheet3");
    var rangeC: string = sheet3.getRange("C:C");
    var MedRef: string = context.workbook.functions.match(valueC7, rangeC, 0);
    var rangeH: string = sheet3.getRange("H" + MedRef);
    var currentValueH = rangeH.getValue();
    rangeH.setValue(currentValueH + valueE7);
    sheet4.getRange("E7").setValue(0);
    sheet4.getRange("D7").setValue("");
    sheet4.getRange("C7").setValue("");
  }
}

To trouble shoot i have changed my code to the above to run variables for everything. Then gone through removing bits to find where its goes wrong, I got to

function AddStock() {} which stiil caused the error

any help appreciated

Eugene Astafiev
  • 47,483
  • 3
  • 24
  • 45

1 Answers1

0

Try to break these lines of code and use the Excel.Run for chunks separately, for example:

await Excel.run(async (context) => {
    let sheet = context.workbook.worksheets.getItem("Sample");

    let range = sheet.getRange("C3");
    range.values = [[ 5 ]];
    range.format.autofitColumns();

    await context.sync();
});
Eugene Astafiev
  • 47,483
  • 3
  • 24
  • 45