excel - 根据不同的单元格公式显示用户表单
问题描述
我正在开发一个部门游戏,该游戏将根据获得的总积分累加积分并显示用户表单。例如,当单元格达到 50-99 点 (sum(A2:A10)) 时,单元格 A1(玩家 1)应显示 UserForm1。一旦他们达到 100-149 点,它将显示 UserForm2,这将持续到 1000 点。
我在使用 VBA 的 Worksheet_Calculate 部分时遇到了一些问题。如果玩家 1 达到 50 分,然后玩家 2 达到 50 分(单元格 B2),则 UserForm1 应该只为玩家 2 显示一次。相反,使用我现在正在处理的代码,UserForm1 显示两次,因为两个参数都为真。我无法“跳出”第一个 if 语句,并且代码仅引用 Range("B1") 而不测试 Range("A1") 的 if 语句。另外,使用我当前的代码,如果 Range("A1") 不大于 50 但 Range("B1") 是,则 UserForm1 不会显示。
我能找到的所有研究都只显示了如何解决这个问题,如果你有一个玩家使用 If...Then...Else 而没有关于是否有多个玩家。
下面是我正在使用的代码(在我解决这个问题之前的早期阶段,我无法将其余的用户表单写入代码)。
Private Sub Worksheet_Calculate()
If Range("A1").Value >= 50 And Range("A1").Value < 100 Then
UserForm1.Show
Else
End If
If Range("B1").Value >= 50 And Range("B1").Value < 100 Then
UserForm1.Show
Else
End If
End Sub
解决方案
推荐阅读
- spring-mvc - 从多个应用服务器运行的 Spring Poller
- laravel - Laravel 5.3 API 在服务器上使用 JavaScript 时未获取数据
- php - apache solr 5.3.0 多核搜索
- google-chrome-extension - chrome扩展launchWebAuthFlow错误
- python - 使用 win32api 在内存对象中打印
- keras - keras 中的 preprocess_input 大大增加了火车的大小
- python - OpenCV使用单色相机将帧扔到输出时得到3张图片而不是1张
- java - 通过 Apache.Camel 连接 FTPS 读取超时
- c# - UWP GridView - 如何在调整大小时保持可见项目(列数更改)
- android - 无法解决:de.hdodenhof:circleimageview:2.4.0