所以,我一直試圖找出一種方法來處理給定范圍的單個單元格,但我不知道如何做到這一點。
例如,如果我已將變數設定為范圍“A5:H25”,并且我想更改此范圍內一個(或多個)單元格的值,如何做到這一點,同時保留另一個單元格的值?
我知道我們可以使用一組陣列來更改多個值,但是我想保持不變的其他值呢?
在我的具體示例中,我以這種方式設定了一個范圍:
var date = Utilities.formatDate(new Date(), "GMT 1", "dd/MM/yyyy");
var sprdsht = SpreadsheetApp.getActiveSpreadsheet();
var shtSessions = sprdsht.getSheets()[3];
var shtSessionslastRow = shtSessions.getLastRow();
var shtSessionslastCol = shtSessions.getLastColumn();
//Get table Ranges from the 4 sheets
var tblPushRange = shtPush.getRange(1, 1, shtPushlastRow, shtPushlastCol);
var tblSessionsRange = tblPushRange;
if (tblSessionsRange(1,1).getValue() == ""){ //<--- Check if 1st cell of the given range is empty
tblSessionsRange.setValues([[date]]) //<-- Set that 1st cell value to date
}else{
tblSessionsRange.offset(tblPushRange.getLastRow() 1,1).setValue(date);
Logger.log(tblPushRange.getLastRow() 1)
}
那么,如何在我設定的這個范圍內更改單個單元格中的值并保持所有其他值不變?
注意:我認為else塊中的代碼也不正確,但我稍后會解決它!
謝謝心理
uj5u.com熱心網友回復:
解決方案:
您可以使用getCell(row,column)范圍來獲取特定的單個單元格。請注意,范圍中的第一個單元格被指定為(1,1)。
樣本:
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange("A5:H25");
// set value of cell B7 to "A"
range.getCell(3,2).setValue("A");
參考:
班級范圍 | 獲取單元格()
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/379143.html
標籤:谷歌应用程序脚本
