伙计们,
首先,电子表格的名称为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');
};
提前谢谢!
答案 0 :(得分:1)
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);
}