我需要我的宏 "Save" 按钮在每次保存新数据时添加一个新行,而不是替换之前保存的当前行
I need my Macros "Save" button to add a new row every time new data is saved, not replace the current one that was saved before
我只需要我的宏来保存信息并向同一工作簿中的另一个 sheet 添加一个新行而不替换旧保存的数据,而是添加一个新行。
我是新手,需要高手帮忙,谢谢大家的帮助。
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
中复制的所有数据复制到 Sheet "Customer interface" 中,而不替换之前复制的信息,方法是每次添加一个新行 "save" 按钮被点击。谢谢!!
我想这就是你想要的。但很难说。宏可能很容易制作,但它们制作的脚本记录不完整。
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]);
}
我只需要我的宏来保存信息并向同一工作簿中的另一个 sheet 添加一个新行而不替换旧保存的数据,而是添加一个新行。
我是新手,需要高手帮忙,谢谢大家的帮助。
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
中复制的所有数据复制到 Sheet "Customer interface" 中,而不替换之前复制的信息,方法是每次添加一个新行 "save" 按钮被点击。谢谢!!
我想这就是你想要的。但很难说。宏可能很容易制作,但它们制作的脚本记录不完整。
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]);
}