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

VBA 随机分配递增值到指定区域

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

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