我仍在为我工作的Music Studio制作一张纸,而我又一次陷入了困境。 最近几天我一直在阅读
1) https://developers.google.com/apps-script/reference/spreadsheet/sheet
2)https://mashe.hawksey.info/2015/03/google-sheets-move-a-row-of-data-to-
another-sheet-based-on-cell-value/
尝试将单元格从输入表格复制到另一张纸上的输出列。
我目前正在使用我在StackOverflow上找到的这段代码,我尝试对其进行编辑以满足自己的需求。
function NewBand(){ //Triggered by button on "New"
var ss = SpreadsheetApp.getActiveSpreadsheet();
var target = SpreadsheetApp.getActiveSpreadsheet();
var source_sheet = ss.getSheetByName('New');
var target_sheet = target.getSheetByName('Roster');
var source_range = source_sheet.getRange('D3');
var target_range = target_sheet.getRange('C10');
source_range.copyTo(target_range);
var last_row = target_sheet.getLastRow();
target_sheet.insertRowAfter(last_row);
var target_range = target_sheet.getRange('C'+(last_row+1));
var source_sheet = ss.getSheetByName('New');
var target_sheet = target.getSheetByName('Info');
var source_range = source_sheet.getRange('D5');
var target_range = target_sheet.getRange('B8');
source_range.copyTo(target_range);
var last_row = target_sheet.getLastRow();
target_sheet.insertRowAfter(last_row);
}
当前,当它运行时,它可以将数据正确地添加到正确的列中,但是
1)它不会将数据插入到保留先前位置的下一个单元格中 插入的数据。 -它会覆盖当前的上一个条目,而不是向下移动一行并创建新数据。
2)当我运行它时,它也会添加一堆空白行。
3)如果有更简单的方法也可以! 如果有人可以让我走上正确的路,或者让第一个表格正确输出,那么我可以做剩下的事,我将永远感激不已!
如果有帮助,这是我的项目的非常简单的版本: https://docs.google.com/spreadsheets/d/1i192uK-a-ALim7pvL-mkty_1nh_m9aghvmrxmiiRYKs/edit?usp=sharing
我在工作表“ New”上对输入表单进行了颜色编码,以匹配工作表“ roster”和“ info”上所需的输出。
如果他们有贝宝或苹果薪水,我也很乐意为他们的时间给几个小费
答案 0 :(得分:0)
此修改如何?在此修改中,它检索值“ D3:D15”,并将每个值放入工作表“ Roster”和“ Info”的最后一行的下一行。
function NewBand() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheetNew = ss.getSheetByName('New');
var sheetRoster = ss.getSheetByName('Roster');
var sheetInfo = ss.getSheetByName('Info');
var values = sheetNew.getRange("D3:D15").getValues();
var D3, D5, D7, D9, D11, D13, D14, D15;
[D3, _, D5, _, D7, _, D9, _, D11, _, D13, D14, D15] = Array.prototype.concat.apply([], values);
sheetRoster.appendRow([,null,D3,D7,null,null,null,null,null,D9,null,null,null,null,null,null,D11]);
sheetInfo.appendRow([null,D5,D14,D15,null,null,null,D11]);
}