我正在寻找一个谷歌应用脚本,将一个单元格中的一系列单元格复制到另一个工作表,然后当用户更改第一个范围值时,将相同的范围(新值)复制到下一行中。第一。以下是我到目前为止的情况:
function copyToDatasheet() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s1 = ss.getSheetByName('Mobile Form');
var s2 = ss.getSheetByName('Data');
s1.getRange('B2').copyTo(s2.getRange('P6'), {contentsOnly:true})
s1.getRange('B4').copyTo(s2.getRange('Q6'), {contentsOnly:true})
s1.getRange('B6').copyTo(s2.getRange('R6'), {contentsOnly:true})
s1.getRange('B8').copyTo(s2.getRange('S6'), {contentsOnly:true})
s1.getRange('B10').copyTo(s2.getRange('O6'), {contentsOnly:true})
}
所有这一切都是将s1范围复制到从第6行开始的s2范围,这是我希望它开始的方式,但在下一个条目中我希望它向下移动到第7行,依此类推。重置s1范围并输入新值,将它们复制到下一行中的s2,使它们在下次运行时动态向下移动。希望这是有道理的,我没有关于应用程序脚本的大量知识,所以如果可能的话,解释一些函数的作用会有所帮助。感谢任何人提供的任何帮助。
答案 0 :(得分:0)
This will获得相同的数据范围。然后,所有这些数据将被附加到Sheet2。
function getMultipleValues(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('Sheet1');
var range = sheet.getRange(2,1,4,2); //getRange(starting row, starting column, ending row, ending column)
var data = range.getValues();
putMultipleValues(data)
}
function putMultipleValues(data){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('Sheet2');
data.forEach(function(i){
SpreadsheetApp.flush();
sheet.appendRow(i)
})
}