首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Google应用程序脚本-从另一个工作表导入表格值

Google应用程序脚本-从另一个工作表导入表格值
EN

Stack Overflow用户
提问于 2017-01-01 06:23:12
回答 0查看 1.3K关注 0票数 1

为了给Google sheets写一个有条件的Google apps脚本,我有点抓狂了。该工作表有5个选项卡。基本上,工作表从google表单中获取数据。客户填写表单,它会填写我们的“主要”标签的问题。

这就是我的问题所在:该表单用于教师将学生推荐给特定的管理员。控制表单的任何人都需要能够将特定的数据行分配给特定的管理员,每个管理员都设置了自己的选项卡。他们通过从下拉列表中选择要将行分配给哪个管理员来执行此操作。

因此,如果将第2行分配给"Miranda“,则某些数据将移动到"Miranda”选项卡。为了便于讨论,假设该特定行的D和E列将移动到"Miranda“选项卡的A列。

这是我到目前为止想出的:

代码语言:javascript
复制
function importStudent() {
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var master_sheet = ss.getSheetByName("Master");
    var miranda_sheet = ss.getSheetByName("Miranda");
    var columnT = master_sheet.getRange("T1:T").getValues();
    var columnD = master_sheet.getRange("D1:D").getValues();
    var columnE = master_sheet.getRange("E1:E").getValues();
        for(var i = 0; i <= columnT; i++) {
            if (columnT[i][0] === "Miranda") {
                var miranda_row = (miranda_sheet.getLastRow() + 1);
                var active_row = SpreadsheetApp.setActiveRange(columnT[i].getRow());
                var selectionFirst = columnD.setActiveRange(active_row:columnD);
                var selectionLast = columnE.setActiveRange(active_row:columnE);
                var fullName = selectionFirst + " " + selectionLast;
                fullName.copyValuesToRange(miranda_sheet, 1, 1, miranda_row, miranda_row);
            }
        }
}

下面的代码坏了,我正在寻找一些能让它正常工作的指导。首先,我知道我至少有两个问题:1变量太多,2我不确定是否可以将变量作为参数传递给setActiveRange()类。所以,我的问题是:

我怎么才能清理干净呢?还有什么(class?)为了让它起作用,我应该使用吗?

PS -当涉及到JavaScript时,我仍然认为自己是一个新手。我有相关知识,但实际应用还在学习中:)

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41412088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档