![](/img/trans.png)
[英]How do I get a google sheet name based on cell value using Google Apps Script?
[英]Google Sheet Macro - how do I return a column number based on dynamic cell contents?
我有以下代碼作為起點。 我想要 select 整個列,其中第 3 行包含一個特定的日期值(它將是前一個星期一的日期;我有一個在單元格 E1 中返回此日期的公式)。
function selectDate() {
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
ss.getRange(3,?,1,ss.getMaxColumns()).activate();
}
基本上,getRange 列值將被解釋為:“查找第 3 行中的值等於單元格 E1 中的值的列號”。
任何想法都會非常有幫助,即使它使用完全不同的方法來實現同一件事。 太感謝了!
在您的情況下,以下示例腳本如何?
function selectDate() {
var sheet = SpreadsheetApp.getActiveSheet();
var searchValue = sheet.getRange("E1").getDisplayValue();
var res = sheet.getRange(3, 1, 1, sheet.getLastColumn()).createTextFinder(searchValue).matchEntireCell(true).findNext();
if (!res) return;
var column = res.getColumn();
sheet.getRange(1, column, sheet.getLastRow()).activate(); // Here, the found column is activated.
Browser.msgBox("Found column number is " + column); // Here, the found column number is shown in a dialog.
}
根據您的情況,我認為腳本中的getRange(3,?,1,ss.getMaxColumns())
可能是getRange(3, 1, 1, sheet.getLastColumn())
。
運行此腳本時,將使用單元格“E1”的值搜索第 3 行。 當找到該值時,作為示例,找到的列將被激活,列號將顯示在對話框中。 這是一個樣本。 請根據您的實際情況進行修改。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.