Google 表格脚本 - 如何在同一个电子表格中自动执行 "if checkbox == true, then copy row in another sheet"?
Google Sheets Script - How to automate "if checkbox == true, then copy row in another sheet" in the same spreadsheet?
大家好,
首先,电子表格被命名为Daily File Distribution
。
所以这里的问题是:
如果 'Daily!H2:H100'
中的复选框是 TRUE
,则列 'Daily!A2:F100'
中的内容将被复制到 'Record'
最后一行。然后清除 'Daily!A2:F100'
中的内容(因为删除行会弄乱条件格式)。然后将复选框从 'Daily!G2:H2'
更改为 FALSE
.
我从录制的宏中得到的(仅适用于Daily!A2:F2
):
function UntitledMacro() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('A2:F2').activate();
spreadsheet.setCurrentCell(spreadsheet.getRange('F2'));
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Record'), true);
spreadsheet.getRange('A134').activate();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Daily'), true);
spreadsheet.getActiveRangeList().clear({contentsOnly: true, skipFilteredRows: true});
spreadsheet.getRange('G2').activate();
spreadsheet.getCurrentCell().setValue('FALSE');
spreadsheet.getRange('H2').activate();
spreadsheet.getCurrentCell().setValue('FALSE');
};
提前致谢!
function runOne() {
var ss=SpreadsheetApp.getActive();
var sh1=ss.getSheetByName('Daily');
var sh2=ss.getSheetByName('Record');
var rg1=sh1.getRange(2,1,99,6);
var rg2=sh1.getRange(2,7,99,2);
var vA1=rg1.getValues();
var vA2=rg2.getValues();
for(var i=0;i<vA1.length;i++) {
if(vA2[i][1]) {
sh2.appendRow(vA1[i])
sh1.getRange(i+2,1,1,vA1[i].length).clear({contentsOnly: true, skipFilteredRows: true});
vA2[i][0]=false;
vA2[i][1]=false;
}
}
rg2.setValues(vA2);
}
大家好,
首先,电子表格被命名为Daily File Distribution
。
所以这里的问题是:
如果 'Daily!H2:H100'
中的复选框是 TRUE
,则列 'Daily!A2:F100'
中的内容将被复制到 'Record'
最后一行。然后清除 'Daily!A2:F100'
中的内容(因为删除行会弄乱条件格式)。然后将复选框从 'Daily!G2:H2'
更改为 FALSE
.
我从录制的宏中得到的(仅适用于Daily!A2:F2
):
function UntitledMacro() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('A2:F2').activate();
spreadsheet.setCurrentCell(spreadsheet.getRange('F2'));
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Record'), true);
spreadsheet.getRange('A134').activate();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Daily'), true);
spreadsheet.getActiveRangeList().clear({contentsOnly: true, skipFilteredRows: true});
spreadsheet.getRange('G2').activate();
spreadsheet.getCurrentCell().setValue('FALSE');
spreadsheet.getRange('H2').activate();
spreadsheet.getCurrentCell().setValue('FALSE');
};
提前致谢!
function runOne() {
var ss=SpreadsheetApp.getActive();
var sh1=ss.getSheetByName('Daily');
var sh2=ss.getSheetByName('Record');
var rg1=sh1.getRange(2,1,99,6);
var rg2=sh1.getRange(2,7,99,2);
var vA1=rg1.getValues();
var vA2=rg2.getValues();
for(var i=0;i<vA1.length;i++) {
if(vA2[i][1]) {
sh2.appendRow(vA1[i])
sh1.getRange(i+2,1,1,vA1[i].length).clear({contentsOnly: true, skipFilteredRows: true});
vA2[i][0]=false;
vA2[i][1]=false;
}
}
rg2.setValues(vA2);
}