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

如何在Mac版Microsoft 365 Excel中用VBA实现数字截断而非四舍五入?

实现方案(Mac版Microsoft 365)

1. 配置工作表保护(仅开放指定单元格输入)

  • 解锁目标输入区域:选中A1:A10,右键选择「设置单元格格式」→ 切换到「保护」标签,取消勾选「锁定」,点击确定。
  • 启用工作表保护:点击菜单栏「审阅」→「保护工作表」,按需设置保护密码,在权限选项中仅勾选「选定未锁定的单元格」,其余选项根据需求取消,最后点击确定。

2. 编写VBA代码实现数字截断(保留2位小数且不四舍五入)

  • 打开VBA编辑器:按下Option + F11快捷键,或在「开发工具」选项卡点击「Visual Basic」。
  • 在左侧工程面板找到目标工作表(如Sheet1),双击打开代码窗口,粘贴以下代码:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim cell As Range
    ' 仅处理A1:A10范围内的单元格修改
    If Not Intersect(Target, Me.Range("A1:A10")) Is Nothing Then
        Application.EnableEvents = False ' 关闭事件触发,避免循环执行
        For Each cell In Intersect(Target, Me.Range("A1:A10"))
            If IsNumeric(cell.Value) Then
                ' 核心逻辑:乘以100后取整再除以100,实现截断2位小数
                cell.Value = Int(cell.Value * 100) / 100
                ' 强制设置显示格式为2位小数
                cell.NumberFormat = "0.00"
            End If
        Next cell
        Application.EnableEvents = True ' 恢复事件触发
    End If
End Sub
  • 代码说明:
    • Worksheet_Change事件会在单元格内容变更时自动触发
    • Int(cell.Value * 100) / 100是截断核心:例如输入3.888时,3.888*100=388.8,Int函数取整为388,除以100后得到3.88,完全不进行四舍五入
    • 强制设置0.00格式,确保输入后的数字始终显示2位小数

3. 保存与启用宏

  • 保存文件:因为包含VBA代码,需将文件保存为「Excel启用宏的工作簿(.xlsm)」格式。
  • 启用宏:打开文件时,Mac版365会弹出宏启用提示,选择「启用内容」即可让代码生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 21:22:39