我在作業表“價格歷史”單元格 E21 中有一個公式,它會根據其他單元格的相等情況自動更改為不同的作業表名稱。我的腳本回傳 TypeError: newSheetName.getRange is not a function。在下面的腳本中,我嘗試復制 E21 上方的空白單元格并將該單元格粘貼到指定作業表上的空白單元格中,但這沒有幫助。我試圖只激活值在 E21 中的作業表。謝謝
function MyAccount() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Price History");
var newSheetName = sheet.getRange("E21").getValue();
sheet.getRange("E20").copyTo(newSheetName.getRange("C1"), { contentsOnly: true });
}
uj5u.com熱心網友回復:
- 此行
var newSheetName = sheet.getRange("E21").getValue();不會將變數設定newSheetName為作業表,而是將其設定為字串值。
建議:
由于您已經提到單元格的值E21基本上包含隨機更改的作業表名稱,也許您仍然可以嘗試使用
更新
運行腳本后,測驗單元格值被復制到在
NewTestSheetC 列最后一行呼叫的目標表中,即C4

uj5u.com熱心網友回復:
您正在嘗試將字串值用作作業表。相反,使用作業表名稱獲取新作業表,然后復制到新范圍。
function MyAccount() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Price History");
var copyRange = sheet.getRange("E20");
var nameRange = sheet.getRange("E21");
copyRange.copyTo(ss.getSheetByName(nameRange.getValue()).getRange("C1"), { contentsOnly: true });
}
或者,
function MyAccount() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Price History");
var copyValue = sheet.getRange("E20").getValue();
var nameRange = sheet.getRange("E21");
ss.getSheetByName(nameRange.getValue()).getRange("C1").setValue(copyValue);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/358831.html
