我需要一些Google Apps脚本的帮助。我在google工作表中工作,目前有以下脚本:
function transpose() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('C3:N3').activate();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Sheet21'), true);
spreadsheet.getRange("'A/P'!C3:N3").copyTo(spreadsheet.getActiveRange(),
SpreadsheetApp.CopyPasteType.PASTE_NORMAL, true);
};
而不是仅仅粘贴在Sheet 21的A1中,我希望它能找到F列的底部。我也想知道如何从我所在的工作表中复制数据,而不仅仅是名为A / P的工作表。
先感谢您!
您希望将活动工作表中C3:N3的值添加到Sheet21中F列的最后一行的下一行。如果我的理解是正确的,那么这个修改怎么样?
spreadsheet.getRange('C3:N3').activate()
由spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Sheet21'), true)
更改。这样,"'A/P'!C3:N3"
的值被复制为Sheet21的“A1”。如果“Sheet21”中列“F”的最后一行的地址小于其他列的地址,请使用此项。
function transpose() {
var spreadsheet = SpreadsheetApp.getActive();
var srcRange = spreadsheet.getActiveSheet().getRange('C3:N3');
var dstSheet = spreadsheet.getSheetByName('Sheet21');
var range = dstSheet.getRange('F1:F');
var values = range.getValues();
var formulas = range.getFormulas();
var i;
for (i = values.length - 1; i >= 0; i--) {
if (values[i][0] != "" || formulas[i][0] != "") break;
}
var dstRange = dstSheet.getRange("F" + (i + 2));
srcRange.copyTo(dstRange, SpreadsheetApp.CopyPasteType.PASTE_NORMAL, true);
};
如果“Sheet21”中列“F”的最后一行的地址大于或等于其他列的地址,请使用此项。
function transpose() {
var spreadsheet = SpreadsheetApp.getActive();
var srcRange = spreadsheet.getActiveSheet().getRange('C3:N3');
var dstSheet = spreadsheet.getSheetByName('Sheet21');
var dstRange = dstSheet.getRange("F" + (dstSheet.getLastRow() + 1));
srcRange.copyTo(dstRange, SpreadsheetApp.CopyPasteType.PASTE_NORMAL, true);
};
如果我误解了你的问题,请告诉我。我想修改它。