簡體   English   中英

Google 表格宏 - 如何根據動態單元格內容返回列號?

[英]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 行。 當找到該值時,作為示例,找到的列將被激活,列號將顯示在對話框中。 這是一個樣本。 請根據您的實際情況進行修改。

筆記:

  • 如果沒有選擇列,則認為在第3行中找不到單元格“E1”的值。屆時,您能否提供電子表格的詳細信息? 通過這個,我想修改它。

參考:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM