0

我想将数组值粘贴到所需的单元格中。但我在第 23 行遇到错误。

function main(workbook: ExcelScript.Workbook) 
{
  let emp_sheet = workbook.getWorksheet("Emp");
  let cc_id_range = emp_sheet.getRange("F1:O17");
  let cc_id_values = cc_id_range.getValues();

  for (let k = 1; k <= 10; k++) 
  {
    let cc_id = cc_id_values[0][k - 1];
    var b = Number(cc_id); // For example here I get b = 26

    if (b != 0) 
    {    
      for (let m = 1; m <= 13; m++) 
      {
        let cc_data = cc_id_values[m + 3][k - 1];
        var c = Number(cc_data);
        console.log(c)

        let output_sheet = workbook.getWorksheet("Output_CC");
        let output_range = output_sheet.getRange("F2:BM14");

        output_range.getCell[m - 1][b-1].setValues(c);   // Getting Error here
      }
    }
  }
}

请看这张图片代码

4

2 回答 2

1

我相信您要完成的是将表格从一个选项卡复制到另一个选项卡。请参阅下面的屏幕截图和代码。我将它粘贴在不同的范围内,以便您了解如何调整它。

function main(workbook: ExcelScript.Workbook) {
  let wrkSh1 = workbook.getWorksheet("Sheet1");
  let wrkSh2 = workbook.getWorksheet("Sheet2");
  let lastRow = wrkSh1.getRange("A:A").getUsedRange(true).getLastCell().getRowIndex();
  let newRng = "A1:C" + (lastRow + 1);
  let copyVal = wrkSh1.getRange(newRng).getValues();
  newRng = "C3:E" + (lastRow + 3);
  wrkSh2.getRange(newRng).setValues(copyVal);
}

在此处输入图像描述

在此处输入图像描述

于 2021-07-08T20:16:58.080 回答
0

您需要以getCell行和列作为参数而不是索引来调用该方法。尝试这个:

output_range.getCell(m - 1, b-1).setValues(c);

您的版本将函数本身视为数组,这会导致问题。

此外,您可能会发现Range.copyTo方法在这里很有用。它基本上像复制/粘贴一样工作。

于 2021-07-09T21:48:25.483 回答