我已经记录了一个宏,它突出显示文本范围,复制,在不同的工作表上插入一行并粘贴数据。我让它工作得很好,并通过点击按钮触发,但由于这在IOS上不起作用(这是我从excel转移到第一个地方的原因),我看到你可以使用复选框和onEdit
触发器。下面是我到目前为止得到的,但它不起作用,我不知道为什么。
function onEdit(e) {
if (e.range.getA1Notation() === 'Input Screen!e3') {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('A3:F3').activate();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Data Table'), true);
spreadsheet.getRange('1:1').activate();
spreadsheet.getActiveSheet().insertRowsAfter(spreadsheet.getActiveRange().getLastRow(), 1);
spreadsheet.getActiveRange().offset(spreadsheet.getActiveRange().getNumRows(), 0, 1,
spreadsheet.getActiveRange().getNumColumns()).activate();
spreadsheet.getRange('A2').activate();
spreadsheet.getRange(''Input Screen'!A3:F3').copyTo(spreadsheet.getActiveRange(),
SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Input Screen'), true);
spreadsheet.getRange('E3').activate();
spreadsheet.getActiveRangeList().clear({contentsOnly: true, skipFilteredRows: true});
}}
我将如何设置它。至于其他的,我不知道,因为我不喜欢像宏那样阅读或编写代码。
function onEdit(e) {
const sh = e.range.getSheet();
if (sh.getName() == "Input Screen" && e.range.columnStart == 5 && e.range.rowStart == 3) {
}
}