如何检查变量行中的单元格是否为空,返回脚本

How to check if cell in variable row is blank, return script

提问人:Alec Aiken 提问时间:8/17/2023 更新时间:8/17/2023 访问量:33

问:

如果活动行的第 11 列 (K) 为空,我正在尝试让我的脚本返回。

这是我正在使用的:

  const ss = SpreadsheetApp.getActive();
  const saveSheet = ss.getActiveSheet();
  const range = saveSheet.getActiveRange();
  const editrow = range.getRow();

  const activeCell = saveSheet.getRange(editrow,12);

我想运行这个脚本

  {
    s.toast('Please ensure all data is entered correctly.')
    return
  }

到目前为止,我已经尝试了以下方法,但没有成功:

if(activeCell.isBlank())
if(activeCell == isBlank())
if(activeCell == '')
if(activeCell == null)
if(activeCell.getValue().length > 0)

短暂性投资安全

if 语句 google-apps 脚本 google-sheets

评论

0赞 Cooper 8/17/2023
重新阅读您的问题,您想知道是行还是空白,或者列是否为空。很难说出你的问题,放大的文字似乎不同意。

答:

0赞 Cooper 8/17/2023 #1
function isActiveRowBlank() {
  const ss = SpreadsheetApp.getActive();
  const sh = ss.getActiveSheet();
  const rg = sh.getActiveRange();
  const r = rg.getRow();
  Logger.log(sh.getRange(r,1,1,sh.getLastColumn()).isBlank()?"Row is Blank":"Row is not Blank");
  return sh.getRange(r,1,1,sh.getLastColumn()).isBlank()?"Row is Blank":"Row is not Blank";
}
1赞 Tanaike 8/17/2023 #2

我相信你的目标如下。

  • 您要检查具有活动范围的同一行的列“K”是否为空。
  • 当单元格为空时,您要运行 .s.toast('Please ensure all data is entered correctly.')

在这种情况下,如何进行以下修改?

我认为在 的情况下,选中了具有活动范围的同一行的列“L”。在这种情况下,我认为需要将其修改为 .const activeCell = saveSheet.getRange(editrow,12);const activeCell = saveSheet.getRange(editrow,12);const activeCell = saveSheet.getRange(editrow, 11);

顺便说一句,当您使用显示脚本时,可能需要修改为 .s.toast('Please ensure all data is entered correctly.')ss.toast('Please ensure all data is entered correctly.')

当这反映在您的脚本中时,以下修改怎么样?

修改后的脚本:

function isActiveRowBlank() {
  const ss = SpreadsheetApp.getActive();
  const saveSheet = ss.getActiveSheet();
  const range = saveSheet.getActiveRange();
  const editrow = range.getRow();

  const activeCell = saveSheet.getRange(editrow, 11);
  if (activeCell.isBlank()) {
    ss.toast('Please ensure all data is entered correctly.');
    return;
  }
}
  • 运行此脚本时,将运行活动范围为空的同一行的列“K”。ss.toast('Please ensure all data is entered correctly.')

  • 如果要在单元格不为空时运行此脚本,请修改为 。if (activeCell.isBlank()) {if (!activeCell.isBlank()) {

  • 在此修改中,它假定活动范围只有一个单元格。

  • 如果要检查活动范围内的多个单元格,请进行以下修改?

    function isActiveRowBlank() {
      const ss = SpreadsheetApp.getActive();
      const saveSheet = ss.getActiveSheet();
      const range = saveSheet.getActiveRange();
      const editrow = range.getRow();
    
      const activeCell = saveSheet.getRange(editrow, 11, range.getNumRows());
      if (activeCell.isBlank()) {
        ss.toast('Please ensure all data is entered correctly.');
        return;
      }
    }
    

参考: