我正在尋找將特定單元格中的資料保存到另一張表中。在所述作業表上,我需要將其保存到定義列中的下一個可用行。我有下面的腳本,它將資料保存到下一個可用行,但不確定如何定義列。在下面的示例中,我需要將其保存到“A”列中。
function transferList() {
var sourceSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Cancellations");
var sourceData = sourceSheet.getRange("D5").getValues();
var targetSS = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet12");
var targetRangeTop = targetSS.getLastRow();
targetSS.getRange(targetRangeTop 1,1,sourceData.length,sourceData[0].length).setValues(sourceData);
}
uj5u.com熱心網友回復:
問題:
如果我理解正確,您希望將其寫入特定列的第一個空單元格(可能與作業表中的第一個空行不對應)。
解決方案:
我建議使用Range.getNextDataCell來查找第一個空單元格之前的最后一個單元格,并使用 Range.offset來獲取那個空單元格。
代碼示例:
function transferList() {
var columnIndex = 1; // Column A
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sourceSheet = ss.getSheetByName("Cancellations");
var sourceData = sourceSheet.getRange("D5").getValue();
var targetSS = ss.getSheetByName("Sheet12");
var a1Range = targetSS.getRange(1,columnIndex);
var targetRange;
if (a1Range.offset(1,0).getValue() !== "") targetRange = a1Range.getNextDataCell(SpreadsheetApp.Direction.DOWN).offset(1,0);
else targetRange = targetSS.getRange(2,columnIndex);
targetRange.setValue(sourceData);
}
筆記:
由于您從單個單元格中獲取值,因此無需使用getValuesand setValues; 您可以改用getValue和setValue。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/494433.html
