【问题标题】:Push row to certain sheet dependant on cell value根据单元格值将行推送到某个工作表
【发布时间】:2015-01-14 20:53:35
【问题描述】:

这是我创建的电子表格

https://docs.google.com/spreadsheets/d/1_HQJ2UK6R3QTLY9oeVe-PIaZngPN1luQAz633taE4Oo/edit?usp=sharing

我正在努力做到这一点,如果一项任务从“待办事项”表的下拉列表中“分配给”一个人,它会在编辑时将其推送到相关标题的人的表中。

有什么办法可以做到吗?谢谢您的帮助!

【问题讨论】:

标签: google-apps-script google-sheets


【解决方案1】:

这个帖子好像和this topic you posted earlier有关联 如果是,您可以扩展我之前提供的脚本,使其也适用于在“待办事项”表上进行的编辑。

请看,如果这对你有用:

function onEdit(e) {
var ss = e.source,
    s = ss.getActiveSheet(),
    sheets = ["To Do", "Beau", "Derek", "Jay", "Steven", "Terence", "Victor"],
    ind = sheets.indexOf(s.getName());
if (ind === 0 && e.range.columnStart === 6 && e.range.rowStart > 4) {
    ss.getSheetByName(e.value).appendRow(
        e.range.offset(0, -5, 1, 6).getValues()[0])
    s.deleteRow(e.range.rowStart);
} else if (ind > 0 && e.range.columnStart === 1 && e.value === 'yes') {
    ss.getSheetByName('Complete Tasks')
        .appendRow(e.range.offset(0, 0, 1, 7)
            .getValues()[0])
    s.deleteRow(e.range.rowStart);
}
}

注意:我注意到您将“e”更改为“o”。这将导致一个非工作脚本。 'e' 不只是一个随机字母,而是代表一个事件对象。 More info on event objects

【讨论】:

  • 附带说明:我假设要在“待办事项”中输入的名称都在工作表上。也许在 col E 中提供一个下拉框以避免拼写错误。希望有帮助吗?干杯,JP。
  • 我的话。你是英雄!我确实有一个下拉框,但我一直在遇到一个问题。每次该行被推送到它的新工作表时,它都会删除该单元格中的数据验证!有办法解决吗?我注意到它也删除了所有格式!谢谢! @JPV
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多