VBA 随机值分配:在多个区域内生成递增序列

该 VBA 代码展示了如何在一个 Excel 工作表中,将随机生成的递增序列值分配给多个区域。

Sub AssignValues()
    Dim rng As Range, cell As Range
    Dim value As Double, addvalue As Double
    
    ' 将所有要分配值的区域存入一个数组
    Dim ranges(1 To 6) As Range
    Set ranges(1) = Range('F10:K10')
    Set ranges(2) = Range('L10:Q10')
    Set ranges(3) = Range('R10:W10')
    Set ranges(4) = Range('F11:J11')
    Set ranges(5) = Range('L11:P11')
    Set ranges(6) = Range('R11:V11')
    
    ' 计算初始值和递增值
    value = Int(((300 - 250 + 10) * Rnd) + 250) / 10 ' 从 26.5 开始递增
    addvalue = Int(((210 - 150 + 10) * Rnd) + 150) / 10
    
    ' 循环遍历每个区域,将值分配给它们
    For Each rng In ranges
        For Each cell In rng
            cell.value = value
            value = value + addvalue ' 递增值
        Next cell
        value = Int(((300 - 250 + 10) * Rnd) + 250) / 10 ' 重置初始值
    Next rng
End Sub

代码解释:

  1. 定义变量: 代码首先定义了几个变量,用于存储区域、单元格、值和递增值。
  2. 创建区域数组: 使用 ranges 数组存储需要分配值的区域。每个元素对应一个区域。
  3. 计算初始值和递增值: 使用 Rnd 函数生成随机数,并根据公式计算初始值和递增值。
  4. 循环遍历区域: 代码使用嵌套循环遍历每个区域中的每个单元格。
  5. 分配值: 将当前 value 值分配给当前单元格,然后根据 addvalue 递增 value。
  6. 重置初始值: 当完成一个区域的分配后,重置 value 为新的随机初始值。

使用说明:

  • 确保代码在正确的工作表上运行。
  • 可以根据需要修改区域的定义和初始值/递增值计算公式。
  • 可以添加错误处理程序以处理可能出现的错误。
  • 可以使用 Debug.Print 语句输出调试信息。

该代码可以帮助您快速生成随机递增序列值,用于测试或演示目的。您可以根据实际需求修改代码以适应不同的场景。

VBA 随机值分配:在多个区域内生成递增序列

原文地址: https://www.cveoy.top/t/topic/nPFi 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录