excel - 如何从范围中选择一个随机单元格?
解决方案
您可以使用 RandBetween 工作表函数。它将生成一个介于 1 和 10 之间的数字,并使用它来选择范围内的单元格A1:A10
。下面的示例使用工作表中的 ActiveX 命令按钮。
Option Explicit
Private Sub CommandButton1_Click()
With ThisWorkbook.Worksheets("Sheet1").Range("A1:A10") '<==change to your sheet with data and button
.ClearFormats
.Cells(Application.WorksheetFunction.RandBetween(1, 10)).Interior.Color = vbRed
End With
End Sub
如果您想利用Randomize
, 进行种子设置,您可以使用以下重写。功能来源是wellsr.com(我的小改编)。
Option Explicit
Private Sub CommandButton1_Click()
With ThisWorkbook.Worksheets("Sheet1").Range("A1:A10")
.ClearFormats
.Cells(RndBetween(1, 10)).Interior.Color = vbRed
End With
End Sub
Public Function RndBetween(ByVal Low, ByVal High) As Integer
Randomize
RndBetween = Int((High - Low + 1) * Rnd + Low)
End Function
推荐阅读
- go - 如何将int32 unicode转换为字符串
- java - 为什么我的 Java 绘图代码占用这么多 CPU?
- node.js - Node.js 需要与 React.js 导入
- javascript - 如何从 Javascript 数组中提取图像并将它们放入 HTML?
- android - 与路由器通量的深度链接反应本机
- html - 如何忽略 Xpath 中的标签标签?
- list - Haskell 中优化的 Eratosthenes 筛
- python - 使用高级选项的 TwitterAPI 过滤器位置
- python - 不显示将 Jinja 与 Materialise 的可折叠元素一起使用
- spring-boot - 在 gradle 5 中查找 BOM 贡献的所有依赖项