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

如何在VBA用户窗体中随机将某个Hrs文本框值改为100?

解决方案

实现思路

  • 先初始化随机种子(避免每次随机结果重复),生成1到13之间的随机整数,这个数对应要修改的Hrs文本框序号
  • 等所有文本框加载完初始数据后,定位到随机选中的Hrs文本框,将其值改为100(和原代码保持两位小数的格式)

修改后的完整代码

Private Sub cmbOp1_AfterUpdate()
    Dim i As Integer
    Dim randomIndex As Integer
    
    ' 初始化随机种子,保证每次随机结果不同
    Randomize
    ' 生成1到13之间的随机整数,对应目标Hrs文本框的序号
    randomIndex = Int((13 * Rnd) + 1)
    
    ' 循环加载所有Name和Hrs文本框的初始数据
    For i = 1 To 13
        Me.Controls("Name" & i).Value = Sheets("Employee").Range("B" & i + 1).Value
        Me.Controls("Hrs" & i).Value = Format(Application.WorksheetFunction.VLookup(Me.Controls("Name" & i), Sheets("Employee").Range("Employee"), 4, 0), "0.00")
    Next i
    
    ' 修改随机选中的Hrs文本框值为100(保持两位小数格式)
    Me.Controls("Hrs" & randomIndex).Value = Format(100, "0.00")
End Sub

可选调整

  • 如果不需要保留小数格式,直接把最后一行改成 Me.Controls("Hrs" & randomIndex).Value = "100" 即可
  • Randomize 只需调用一次,放在生成随机数之前,确保每次打开用户窗体时随机选中的文本框不同

内容的提问来源于stack exchange,提问作者Jack van Hoof

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 14:49:59