【发布时间】:2019-02-11 06:43:13
【问题描述】:
让我先说我意识到简单的解决方案是过滤列/取消选中空白,复制并将值粘贴到新列中。问题是,对于不“精通技术”的老师来说,没有什么是简单的。
话虽如此,我正在将同一个 Google 电子表格中的多个工作表中的数据提取到“主”工作表中。我有一个名为“可见性”的自定义菜单项来隐藏/显示空行。隐藏行后,教师单击“复制数据”按钮将 A1:A 复制到另一个名为“复制”的工作表中。这就是我遇到问题的地方 - 当数据被复制到“复制”表时,空行也是如此。我只想要复制了值的行。
这是我用来将值从 Master 复制到 Copy 的脚本:
/**
* A function named onEdit will be called whenever
* a change is made to the spreadsheet.
*
* @param {object} e The edit event (not used in this case)
*/
function copyRange(e){
var copyFromRange = 'Master!A1:A'; // no row for second cell reference
var copyToRangeStart = 'Copy!A1';
copyValuesOnly(copyFromRange, copyToRangeStart);
}
/**
* This function will copy the values from a given range to
* a second range, which starts from the given cell reference
*
* @param {string} copyFromRange Range reference eg:
* @param {string} copyToRangeStart Cell reference eg:
*/
function copyValuesOnly(copyFromRange, copyToRangeStart) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var source = ss.getRange(copyFromRange);
source.copyTo(ss.getRange(copyToRangeStart), {contentsOnly: true});
}
另外,我编辑了一个我发现的脚本来获取我正在使用的内容,因此请忽略我的代码中的描述。感谢您提供的任何帮助!
【问题讨论】:
-
在 App 脚本中没有直接的方法来做到这一点...为Feature Request 加注星标,或者您可以使用 Sheets 高级服务