簡體   English   中英

您如何使用“OnEdit”功能將谷歌表格宏設置為僅在一張紙上運行?

[英]How do you set a google sheets macro with the "OnEdit" function to run only on one sheet?

我目前正在嘗試制作一個預算支出跟蹤器,它會在我跟蹤的每次購買旁邊自動填充一個日期。 設置是在工作表 2 上,c 列是我添加費用的位置,B 列是應添加日期的位置。 我目前使用的代碼粘貼在下面。

`function onEdit(e) {
  var row = e.range.getRow();
  var dateCell = e.range.getSheet().getRange(row, 2);
  if (!dateCell.getValue()) {
    dateCell.setValue(new Date()).setNumberFormat("MM/dd/YY");
  }
}`

這工作正常,除了一件事,它在每個電子表格中激活,而不僅僅是電子表格 2。如何設置我的代碼以便它僅在電子表格 2 中的另一列更改時運行?

謝謝

為了讓您的onEdit(e)觸發器Sheet2上工作,您應該添加一個if條件,您可以在其中檢查工作表的名稱是否是您希望在其上執行觸發器的名稱。

假設工作表名稱是"Sheet2" ,你可以試試這個:

function onEdit(e) {
    var sheet = e.range.getSheet();
    if (sheet.getName() === "Sheet2") {
        var row = e.range.getRow();
        var dateCell = sheet.getRange(row, 2);
        if (!dateCell.getValue()) {
            dateCell.setValue(new Date()).setNumberFormat("MM/dd/YY");
        }
    }
}

參考

暫無
暫無

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

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