![](/img/trans.png)
[英]How can I copy specific values from 1 Google Sheet and paste to another Sheet using Google Script?
[英]Moving filtered values (copy and paste values) using google sheet script while ignoring the column heading / title
我想使用Google脚本仅将VALUES从源表复制并粘贴到目标表。
我在该列中应用了过滤器,因此我只希望复制存在/已过滤的单元格(并非所有值)。
在我构建的示例中,我有:
源工作表(来自的复制值):Sheet1目标工作表(至的粘贴值):Sheet2
Sheet1屏幕截图:
流程/步骤:
当我在A列的“ Fav_color”中选择任何特定的颜色时,请说“黄色”。
现在,将对成员进行相应过滤。
在按钮上单击,我希望我的Google脚本功能运行,该功能将复制过滤的成员名称并将其粘贴到Sheet2中。
问题 :在工作表2中:我只需要成员名称(而不是实际的列名称)时也得到列标题/标题以及“成员名称”。
我确实知道我的代码中的问题,我正在复制完整的B列,但不知道如何排除列标题/标题。
function transfer() {
var sss = SpreadsheetApp.getActiveSpreadsheet();
var ss = sss.getSheetByName('Sheet1');
var range = ss.getRange('A1:A');
var data = range.getValues();
var tss = SpreadsheetApp.getActiveSpreadsheet();
var ts = tss.getSheetByName('Sheet2');
ts.getRange('A:A').clearContent();
ts.getRange('A:A').clearContent();
ss.getRange("B:B").copyTo(ts.getRange("A2"), {contentsOnly:true});
}
如果您使用,
ss.getRange("B2:B").copyTo(ts.getRange("A2"), {contentsOnly:true});
即使它在过滤结果中不可见,也总是从B2单元格中获取值
您可以使用Sheet#isRowHiddenByFilter
获取第一个未过滤的行号
function copycolB() {
var ss = SpreadsheetApp.getActive();
var sourceSheet = ss.getSheetByName('Sheet1');
var targetSheet = ss.getSheetByName('Sheet2');
for(var row = 2; sourceSheet.isRowHiddenByFilter(row); ++row);//get first visible row from row2
var sourceRange = sourceSheet.getRange('B' + row + ':B');
sourceRange.copyTo(
targetSheet.getRange('A2'),
{contentsOnly:true});
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.