Google Apps脚本查找列的底部

别裁伪体亲风雅,转益多师是汝师。这篇文章主要讲述Google Apps脚本查找列的底部相关的知识,希望能为你提供帮助。
我需要一些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); };

【Google Apps脚本查找列的底部】而不是仅仅粘贴在Sheet 21的A1中,我希望它能找到F列的底部。我也想知道如何从我所在的工作表中复制数据,而不仅仅是名为A / P的工作表。
先感谢您!
答案您希望将活动工作表中C3:N3的值添加到Sheet21中F列的最后一行的下一行。如果我的理解是正确的,那么这个修改怎么样?
Modification points :
  • 在您的脚本中,如果活动工作表不是Sheet21,则活动范围变为“A1”,因为其他工作表上的spreadsheet.getRange('C3:N3').activate()spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Sheet21'), true)更改。这样,"'A/P'!C3:N3"的值被复制为Sheet21的“A1”。
Flow of modified script:
  • 检索源的范围(活动表)
  • 检索目标(Sheet21)表。
  • 检索目标范围。
  • 复制
Modified script : Pattern 1
如果“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); };

Modified script : Pattern 2
如果“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); };

如果我误解了你的问题,请告诉我。我想修改它。

    推荐阅读