簡體   English   中英

編輯其他工作表時如何在 Google 工作表中刷新過濾器 onEdit()?

[英]How to refresh a filter onEdit() in Google sheets when editing a different sheet?

我正在嘗試在編輯單元格時刷新自定義數據過濾器。 但是,我找到的答案(例如https://stackoverflow.com/a/67799857/5438343 )適用於在與過濾器相同的工作表上編輯單元格時。 但是,在我的情況下,當我在不同的工作表上編輯單元格時,我希望強制刷新過濾器,並且不能完全弄清楚如何去做。

建議:

簡單的onEdit觸發器onedit(e)無法在授權下運行,因此它不適用於您通過 Apps 腳本訪問/編輯單獨的電子表格文件的目標。 也許您可以通過使用onEdit可安裝觸發器和openByUrl()方法以這種方式構建您的 function:

當數字小於 x 時,從在 Google 表格中刷新過濾器 onEdit()派生的示例腳本

function refreshTheOtherSheet(){
  var sheet = SpreadsheetApp.openByUrl("THE_OTHER_SPREADSHEET_URL").getSheetByName("Sheet1");
  const filter = sheet.getFilter();
  const fRange = filter.getRange();
  const criterion = filter.getColumnFilterCriteria(12).copy();
  filter.remove();
  fRange.createFilter().setColumnFilterCriteria(12, criterion);
}

腳步

  1. 將上面的腳本添加到電子表格中,您將在其中編輯單元格。
  2. 從 Apps 腳本編輯器運行腳本一次,以便能夠接受授權。
  3. 請按照本指南了解如何為腳本 function 手動創建onEdit可安裝觸發器。
  4. Add Trigger screen ,選擇 function 運行(例如refreshTheOtherSheet
  5. Select On edit為事件類型並保存。

暫無
暫無

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

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