是否可以在工作表选项卡之前引用工作表选项卡中的单元格?
例如,我的活动工作表是“工作表2”,但我想引用“工作表1”中的“A1”。但是我不想用这个名字,因为名字可能会改变,位置也可能会改变。例如,我把“表3”安排在“表1”或“表2”的前面。但不变的是,我总是想引用活动工作表前面的工作表。
我试过使用指数,但我得到的唯一回报是数字。var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getIndex(); var num = SpreadsheetApp.getActiveSpreadsheet().getSheets()[sheet];
(不工作)
或var sh = ss.getSheetByName(sheet);
(不工作)
我知道我可以编写代码来引用另一个工作表中的单元格,但我将创建新的工作表,我希望它们总是引用工作表标签中的单元格。我不想在创建新工作表后手动更改代码。
更新:谢谢!下面是我更新的代码:
function rollOver() {
// Active sheet
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
// getting the index of the active sheet
var index = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getIndex();
//getting all the sheets in the active spreadsheet
var referenceSheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
// Index of active sheet minus 2 to get the sheet before active sheet
var referenceSheet = referenceSheets[index - 2];
// Get reference sheet name
var sheetName = referenceSheet.getSheetName();
//Get reference sheet cells
var rollover = referenceSheet.getRange("AW61").getA1Notation();
var savings = referenceSheet.getRange("BE28").getA1Notation();
// Insert formulas into new cells
ss.getRange("AQ59").setFormula(sheetName + "!" + rollover);
ss.getRange("BE15").setFormula(sheetName + "!" + savings);
//Check variable output
Logger.log(sheetName);
Logger.log(rollover);
Logger.log(savings);
}
这段代码真的很有帮助。对于我的例子,我有一个按钮,当它被点击它创建一个新的电子表格。但是,我希望总是引用它之前的工作表中的值。一开始我只是在引用的工作表中插入单元格的值,但是现在插入a公式到=那个单元格,它会不断更新值。这是巨大的,因为我会继续做新的床单。因此,即使我改变了一个表的值5张之前,它会更新所有的人。
2条答案
按热度按时间wljmcqd81#
您可以尝试此示例代码,以始终在
active sheet
之前获取reference sheet
。示例代码:
输出:
参考:
getSheets
wydwbb8l2#
在活动工作表之前获取工作表