文章目录
- 1. 模Mod运算
- 2. 随机数及其运算
- 2.1 Rnd()函数
- 调用Excel公式: Rand() / RandBetween()
- 使用VBA函数: Rnd()函数
- 2.2 随机小数化整数公式
- 2.3 伪随机数(过程是随机的,但是实际上不是,随机数算法)
- 2.3.1 随机数初始化
- 2.3.2 随机小数被当做下标时会被自动四舍五入
- VBA的默认属性Value
- Set关键字
- Cells(1,1) 可以代表Range对象,也可以代表Cells(1,1)的值(Value),所以必须使用Set关键字
1. 模Mod运算
-
实现__有序__周期性变化,可以考虑使用模运算
- 取的模(余数)–永远不可能比除数更大
- 换言之: 余数一定小于除数----除数运算法则(初中知识)
-
取模运算可以作循环使用(示例: 余数一定小于除数 i / 4 = j···0/1/2/3)
Sub colorSize()
Dim myColor(3) As Long, i As Integer
myColor(0) = vbRed: myColor(1) = vbYellow
myColor(2) = vbBlue: myColor(3) = vbGreen
i = 1
Do While Cells(i, 1) <> ""
Cells(i, 1).Resize(1, 4).Interior.Color = myColor((i - 1) Mod 4)
i = i + 1
Loop
End Sub
- 判断奇偶数的方法:i mod 2 = 1
Sub 判断奇偶数()
Dim i%
i = 7
If i Mod 2 = 0 Then
MsgBox i & "是偶数"
Else
MsgBox i & "是奇数"
End If
End Sub
2. 随机数及其运算
2.1 Rnd()函数
- 实现__随机__周期性变化,可以考虑使用随机数及其相关运算
调用Excel公式: Rand() / RandBetween()
- (Excel.Application).WorkSheetFunction.Rand/RandBetween
使用VBA函数: Rnd()函数
Rnd()函数
: 0-1之间的随机小数 (Ps: 数组下标可以自动对小数的四舍五入,进行取整操作)
2.2 随机小数化整数公式
- 生成[a,b]区间的随机整数的公式: Int(Rnd() * (b - a + 1) + a )
2.3 伪随机数(过程是随机的,但是实际上不是,随机数算法)
计算伪随机数时,假如使用的开始值(种子)不变,那么生成的随机数序也不变
2.3.1 随机数初始化
- **Randomize**(每次随机数运行前执行,程序运行前只需要一次,不能放在循环里)