【发布时间】:2020-07-21 15:07:29
【问题描述】:
这有很多我认为是冗余的代码。虽然我正在努力更多地了解它是如何工作的,但我是一个初学者,我从零碎阅读的内容开始制作这些内容,以便在此处获得这个半可行的文档:
https://docs.google.com/spreadsheets/d/1FqZNZX3zGRscG6teizjEFjmJMLKQmMLRCi6BmUL2T34/edit?usp=sharing
主工作表将其他工作表组合成自身,并根据其他选项卡中的条目自动更新。
问题 1:
var s = SpreadsheetApp.getActiveSheet();
var r = s.getActiveCell();
var nextCell = r.offset(0,-1 );
//Movement SECTION
if( s.getName() == "Movement" )
{
if( r.getColumn() == 2 )
{nextCell.setValue("Spacing");}
}
//Defense SECTION
if( s.getName() == "Defensive" )
{
if( r.getColumn() == 2 ) {
nextCell.setValue("Defense");}
}
//Offense SECTION
if( s.getName() == "Offensive" )
{
if( r.getColumn() == 2 )
{nextCell.setValue("Offense");}
}
//erases category if the exercise is blank
if(s.getName() == "Movement" | s.getName() == "Defensive" | s.getName() == "Offensive")
{
if( r.getColumn() == 2 )
{if (r.isBlank() | r == "")
{nextCell.clearContent()
}
}
}
有没有更简洁的方法来组合所有这些部分?目的是在编辑时,第一列将根据选项卡反映一个类别。我目前计划将 A 列锁定并隐藏,这样在实际标签中就不那么碍眼了。
(额外问题:有没有办法自动将类别添加到主表上的查询中?[单元格是 B4])
问题 2:
是使用受保护的范围更快,还是执行一个脚本来防止更改某些范围并推送一个窗口来解释该做什么会更好?
【问题讨论】:
标签: google-apps-script google-sheets google-sheets-api spreadsheet