You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求谷歌表格中实现鼠标点击增减单元格值的等效Apps Script代码

Google Sheets 实现双击/右键调整单元格数值(对应Excel VBA等效代码)

实现说明

Google Sheets 使用 Apps Script 替代 Excel 的 VBA,以下是对应需求的代码:双击A1:A100范围内的单个单元格时,自动减少0.05并阻止默认编辑;右键点击该区域单元格时,通过自定义菜单选项增加0.05。

完整代码

// 处理双击事件:减少0.05
function handleDoubleClick(e) {
  const range = e.range;
  // 仅处理单个单元格
  if (range.getNumRows() > 1 || range.getNumColumns() > 1) return;
  
  const sheet = range.getSheet();
  const targetArea = sheet.getRange("A1:A100");
  // 检查是否在目标区域内
  if (!targetArea.intersects(range)) return;
  
  // 阻止默认双击进入编辑模式
  e.preventDefault();
  
  // 更新数值(空单元格视为0)
  const currentValue = range.getValue() || 0;
  range.setValue(currentValue - 0.05);
}

// 打开表格时创建自定义右键菜单
function onOpen() {
  SpreadsheetApp.getUi()
    .createMenu("数值调整")
    .addItem("增加0.05", "handleRightClick")
    .addToUi();
}

// 处理右键菜单点击:增加0.05
function handleRightClick() {
  const range = SpreadsheetApp.getActiveRange();
  // 仅处理单个单元格
  if (range.getNumRows() > 1 || range.getNumColumns() > 1) return;
  
  const sheet = range.getSheet();
  const targetArea = sheet.getRange("A1:A100");
  // 检查是否在目标区域内
  if (!targetArea.intersects(range)) return;
  
  // 更新数值(空单元格视为0)
  const currentValue = range.getValue() || 0;
  range.setValue(currentValue + 0.05);
}

设置步骤

  1. 打开你的Google Sheets,点击顶部菜单「扩展程序」→「Apps Script」
  2. 将上述代码粘贴到脚本编辑器,保存项目(随意命名即可)
  3. 点击左侧的「触发器」图标(时钟样式),添加新触发器:
    • 选择函数:handleDoubleClick
    • 事件源:从电子表格
    • 事件类型:双击
    • 保存并完成授权(首次授权需点击「高级」→「转到项目」完成验证)

使用方法

  • 减少数值:双击A1:A100内的单个单元格,自动减0.05,不会进入编辑模式
  • 增加数值:右键点击A1:A100内的单个单元格,选择「数值调整」→「增加0.05」即可

内容的提问来源于stack exchange,提问作者Martha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 08:56:08