Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 需要找到在特定行之后开始数据输入的方法_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script 需要找到在特定行之后开始数据输入的方法

Google apps script 需要找到在特定行之后开始数据输入的方法,google-apps-script,google-sheets,Google Apps Script,Google Sheets,这是我的剧本: function CopyRange() { var sss = SpreadsheetApp.openById('1EA2F99W1lpgTzX3zoTNpzuEXWh-mDkvo9UyZC4kDNtQ'); //replace with source ID var ss = sss.getSheetByName('UKG-A'); //replace with source Sheet tab name var range = ss.getRange('G4:K4');

这是我的剧本:

function CopyRange() {
 var sss = SpreadsheetApp.openById('1EA2F99W1lpgTzX3zoTNpzuEXWh-mDkvo9UyZC4kDNtQ'); //replace with source ID
 var ss = sss.getSheetByName('UKG-A'); //replace with source Sheet tab name
 var range = ss.getRange('G4:K4'); //assign the range you want to copy
 var data = range.getValues();

 var tss = SpreadsheetApp.openById('1EA2F99W1lpgTzX3zoTNpzuEXWh-mDkvo9UyZC4kDNtQ'); //replace with destination ID
 var ts = tss.getSheetByName('UKG-A'); //replace with destination Sheet tab name

 ts.getRange(7 && ts.getLastRow()+1,15,1,5).setValues(data); //you will need to define the size of the copied data see getRange()
 

}
代码正常工作。当我运行代码时,它从源工作表中获取数据,并在目标工作表中最后一行包含数据之后输入。但我想要的是定义一个特定的行来开始数据输入并从该行继续。例如,我希望数据输入在
UKG-A
工作表的第7行之后开始。

说明: 您的目标是在第七行之后添加新行,然后在此新创建的行上设置新数据

  • 可以使用在指定位置后插入新行

  • 从第8行开始粘贴
    8

  • (可选)动态获取
    数据的长度,而不是硬拷贝大小

解决方案: 更改:

ts.getRange(7 && ts.getLastRow()+1,15,1,5).setValues(data);
ts.insertRowAfter(7)
ts.getRange(8,15,data.length,data[0].length).setValues(data);
至:

ts.getRange(7 && ts.getLastRow()+1,15,1,5).setValues(data);
ts.insertRowAfter(7)
ts.getRange(8,15,data.length,data[0].length).setValues(data);
相关:

ts.getRange(7 && ts.getLastRow()+1,15,1,5).setValues(data);
ts.insertRowAfter(7)
ts.getRange(8,15,data.length,data[0].length).setValues(data);

谢谢,代码将数据复制到第8行。但它一直在写价值。我想要的是,当我运行代码时,它应该将值复制到新行。Marios非常感谢您的帮助。你的解决方案有效。但这种方法会产生问题。问题是我在第1行到第33行之间的A列到M列中有一些数据。如果我使用这种方法,A到M中的数据也会向下移动。是否有类似的东西,我可以找到从第6行开始的第O列的最后一行和+1,就像我的原始脚本一样。谢谢。@Riufaan谢谢你的评论。你能就这个问题提出一个新问题吗。Stackoverflow不允许后续问题。这样,未来的读者将从这两个问题中受益。很抱歉给您带来不便,当然可以。给您带来不便,我真的很抱歉。