1

只是想问如果单元格有确切的文本,我如何添加形状或绘图(半阴影形状)。

是否有可能当我在单元格中键入字母“t”时,图像/绘图将可见?不过,我认为这不能通过公式来完成,因为应该放置图像/绘图的单元格是应该放置字母“t”的单元格。有没有办法让我通过脚本来做到这一点?

图片

编辑

当我应用copyTo(destination)的解决方案时,它起作用了。但是,它只适用于一个单元格。我怎样才能让它在 B5:F6 或其他单元格上工作?

这是脚本和示例电子表格

function onEdit(e) {
  
  var sheet = SpreadsheetApp.getActiveSheet();
  var r  = sheet.getRange("B5").getValues();
  
  if (r == 't'){
    var rangeToCopy = sheet.getRange(5, 9);
    rangeToCopy.copyTo(sheet.getRange(5, 2));
  }
}
4

1 回答 1

1

为了实现您想要的,您应该使用e事件对象来检测正在进行编辑的位置。因此,我建议您对代码进行以下更改:

代码

function onEdit(e) {
  let sheet = e.range.getSheet();
  let r = e.range.getValue();
  if (sheet.getName() == "Sheet1" && r == "t") {
    let col = e.range.getColumn();
    let row = e.range.getRow();
    sheet.getRange(5,9).copyTo(sheet.getRange(row,col));
  }
}

解释

上面的脚本检查是否已在 中完成编辑,Sheet1以及已编辑单元格的值是否为t。如果此条件检查,则通过使用getRowand getColumn,它获取单元格的范围,然后稍后将半阴影形状放置在该范围内。

参考

于 2020-11-25T13:25:22.750 回答