google-apps-script - 每次保存新数据时,我都需要我的宏“保存”按钮添加一个新行,而不是替换之前保存的当前行
问题描述
我只需要我的宏来保存信息并将新行添加到同一工作簿中的另一个工作表,而不替换旧保存的数据,而是添加一个新行。
我对此很陌生,我需要专家的帮助,感谢所有愿意提供帮助的人。
enter code here
function CopyandPaste() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('J3:N3').activate();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Work Log Data'), true);
spreadsheet.getRange('A3:E3').activate();
spreadsheet.getRange('\'Customer Interface\'!J3:N3').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
};
我需要将从范围复制的所有数据复制J3:N3
到工作表“客户界面”中,而不替换之前复制的信息,方法是每次单击“保存”按钮时添加一个新行。谢谢!!
解决方案
我想这就是你想要的。但这很难说。宏可能很容易制作,但它们会制作文档记录不佳的脚本。
function CopyandPaste() {
var ss = SpreadsheetApp.getActive();
ss.getRange('J3:N3').activate();
ss.setActiveSheet(ss.getSheetByName('Work Log Data'), true);
ss.getRange('A3:E3').activate();
ss.getRange('\'Customer Interface\'!J3:N3').copyTo(ss.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
var sh=ss.getSheetByName('Customer Interface');
var rg=sh.getRange('J3:N3');
var values=rg.getValues();
sh.appendRow(values[0]);
}
OP编辑的版本:
function CopyandPaste() {
var ss = SpreadsheetApp.getActive();
ss.getRange('J3:N3').activate();
ss.setActiveSheet(ss.getSheetByName('Work Log Data'), true);
ss.getRange('A3:E3').activate();
ss.getRange('\'Customer Interface\'!J3:N3').copyTo(ss.getActiveRange(),
SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
var sh=ss.getSheetByName('Work Log Data');
var rg=sh.getRange('A3:E3');
var values=rg.getValues();
sh.appendRow(values[0]);
}
在评论中回答您的问题:
function CopyandPaste() {
var ss = SpreadsheetApp.getActive();
ss.getRange('J3:N3').activate();
ss.setActiveSheet(ss.getSheetByName('Work Log Data'), true);
ss.getRange('A3:E3').activate();
//this copies from 'Customer Interface'!J3:N3 to 'Work Log Data'!A3:E3
ss.getRange('\'Customer Interface\'!J3:N3').copyTo(ss.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
var sh=ss.getSheetByName('Work Log Data');
var rg=sh.getRange('A3:E3');
var values=rg.getValues();
//this append 'Work Log Data'!A3:E3 to the bottom of the 'Work Log Data'
sh.appendRow(values[0]);
}
推荐阅读
- r - 你如何循环 n 列并使用条件?
- python - 在 Python 中动态更改列名
- java - 通过 JNI NewObject 创建实例时 jvm.dll 中出现异常 0xC0000005
- c - 如何使用 gsasl gssapi 对 Active Directory 进行身份验证?
- python - 使用 Selenium webdriver 模块时 Firefox 浏览器无法打开
- python - 为什么在 for 循环中使用 yield
- asp.net - 从 asp.net 中的 bootstrap-datepicker 读取日期
- javascript - 页面通过表单验证后未重定向到条带结帐
- c# - 为什么这个本地接口引用超出范围?
- java - 韩语没有出现在 Apache Netbeans 中