通过在另一个单元格中键入来在单元格中创建复选框

Create checkbox in cell by typing in another cell

我想通过在 A 列单元格中键入来在 E 列单元格中创建复选框。可能吗?

通过在 A 列中键入来获取输入的每个月的日期。 sheet here

function onEdit(event)
{ 
  var timezone = "GMT-3";
  var timestamp_format = "dd"; // Timestamp Format. 
  var updateColName = "NOME";
  var timeStampColName = "DIA ";
  var sheet = event.source.getActiveSheet()


  var actRng = event.source.getActiveRange();
  var editColumn = actRng.getColumn();
  var index = actRng.getRowIndex();
  var headers = sheet.getRange(5, 1, 1, sheet.getLastColumn()).getValues();
  var dateCol = headers[0].indexOf(timeStampColName);
  var updateCol = headers[0].indexOf(updateColName); updateCol = updateCol+1;
  Logger.log(dateCol+" "+editColumn+" "+updateCol+" "+index)
  if (dateCol > -5 && index > 5 && editColumn == updateCol) { // only timestamp if 'Last Updated' header exists, but not in the header row itself!
    var cell = sheet.getRange(index, dateCol + 1);
    var date = Utilities.formatDate(new Date(), timezone, timestamp_format);
    cell.setValue(date);
  }
  }

您可以像这样预先填充它们:

然后使用自定义颜色 #FFFFFD 的条件格式,如下所示:

因此,只要您在 A8 中输入内容,复选框就会出现


spreadsheet demo

  • 当列 "A" 被编辑时,您想在与编辑行位于同一行的列 "E" 上放置一个复选框。
    • 在您当前的脚本中,当一个值被放入列 "A" 时,一个值被放入列 "D"。
    • 您想添加用于将复选框放入其中的脚本。

我可以这样理解。为了实现以上,这个修改怎么样?请将此视为几个答案之一。

修改后的脚本:

请将以下脚本放在cell.setValue(date);下方。

cell.offset(0, 1).insertCheckboxes();

注:

  • 如果要勾选checkbox,请替换成下面的脚本。

    cell.offset(0, 1).insertCheckboxes().check();
    

参考文献:

编辑:

请按如下方式修改条件格式规则的设置。