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

Excel如何实现G22输入数值后触发G23生成随机数并进行猜数对比

Excel猜数工具触发随机数更新解决方案

问题原因

你之前使用的RANDBETWEEN是易失性函数,仅在工作表全量重算(如按F9、打开文件、修改其他触发重算的单元格)时才会更新数值,无法和G22的输入动作绑定触发,所以需要用工作表Change事件实现两个单元格的关联。

实现步骤

  1. 打开你要制作猜数工具的工作表,按Alt+F11调出VBA编辑器
  2. 在左侧工程资源管理器中找到对应工作表,双击打开该工作表的代码编辑窗口
  3. 将以下代码粘贴到编辑窗口中:
Private Sub Worksheet_Change(ByVal Target As Range)
    ' 仅监听G22单元格的修改动作
    If Target.Address = "$G$22" Then
        ' 校验输入是否为1-36之间的整数
        If IsNumeric(Target.Value) And Target.Value >= 1 And Target.Value <= 36 And Int(Target.Value) = Target.Value Then
            ' 生成新的1-36随机数写入G23
            Range("G23").Value = WorksheetFunction.RandBetween(1, 36)
            ' 对比猜测结果给出提示(提示内容放在G24单元格,可自行修改位置)
            If Range("G23").Value = Target.Value Then
                Range("G24").Value = "恭喜你猜对了!"
                ' 若需要弹窗提示,取消注释下一行即可
                ' MsgBox "恭喜猜对!"
            Else
                Range("G24").Value = "很遗憾猜错了,再试一次吧"
            End If
        Else
            ' 输入不符合规则时清空随机数和提示
            Range("G23").Value = ""
            Range("G24").Value = "请输入1-36之间的整数"
        End If
    End If
End Sub
  1. 关闭VBA编辑器,将文件保存为*.xlsm格式(启用宏的工作簿)

注意事项

  • 每次打开文件时需要选择「启用宏」,否则事件代码不会生效
  • 提示文案、提示单元格位置都可以根据你的需求自行修改代码中的对应参数
  • 如果不需要输入校验逻辑,可以自行删除对应校验分支的代码

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 04:54:09