我只需要使用 Google 宏在電子表格中復制和粘貼行資料。但我試圖錄制宏以保持我的功能正常作業。它給出的結果只是將一個值粘貼到下一個 function( 1) 。但是,我希望在創建新行之前在底行粘貼新行資料。方法是首先在底行創建一個新行然后粘貼插入我選擇的任何行資料。
function _3333() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getActiveSheet().insertRowsAfter(spreadsheet.getActiveRange().getLastRow(), 1);
spreadsheet.getActiveRange().offset(spreadsheet.getActiveRange().getNumRows(), 0, 1, spreadsheet.getActiveRange().getNumColumns()).activate();
spreadsheet.getCurrentCell().activate();
var sheet = spreadsheet.getActiveSheet();
sheet.getRange(spreadsheet.getCurrentCell().getRow() - 1, 1, 1, sheet.getMaxColumns()).copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
};
在此處輸入圖片說明
uj5u.com熱心網友回復:
在你的情況下,下面的修改如何?
從:
sheet.getRange(spreadsheet.getCurrentCell().getRow() - 1, 1, 1, sheet.getMaxColumns()).copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
到:
sheet.getRange(spreadsheet.getCurrentCell().getRow() - 1, 1, 1, sheet.getMaxColumns()).copyTo(sheet.getRange(sheet.getLastRow() 1, 1), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
在此修改中,您
getCurrentCell()將復制到最后一行的下一行。如果要復制
getCurrentCell()到最后一行,請修改為如下。sheet.getRange(spreadsheet.getCurrentCell().getRow() - 1, 1, 1, sheet.getMaxColumns()).copyTo(sheet.getRange(sheet.getLastRow(), 1), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
添加:
從您的以下回復中,
我希望在創建新行之前在底行粘貼新行資料。方法是首先在底行創建一個新行然后粘貼插入我選擇的任何行資料。
- 在底行插入一個新行。
- 將所選行復制并粘貼到插入的新行中。
- 那些是相同的活動表。
在這種情況下,以下示例腳本如何?
示例腳本:
function myFunction() {
var sheet = SpreadsheetApp.getActiveSheet();
var lastRow = sheet.getLastRow();
sheet.insertRowAfter(lastRow);
var selectedRow = sheet.getRange(sheet.getActiveRange().getRow(), 1, 1, sheet.getLastColumn());
selectedRow.copyTo(sheet.getRange(lastRow 1, 1), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/361444.html
下一篇:谷歌表格多個密碼
