|
本帖最后由 老司机带带我 于 2016-6-16 09:02 编辑
VBA中用不了rand,所以只能变通的先生成公式然后在复制为数值了!也算是用了rand函数吧!- Sub xx()
- Dim str$, arr
- str = Application.InputBox("请输入产生的行列,用逗号隔开,且逗号为英文状态下:", "输入提示")
- arr = Split(str, ",")
- If arr(0) * 1 < 1 Then
- MsgBox "行号不能小于等于零"
- Exit Sub
- End If
- If arr(1) * 1 < 1 Then
- MsgBox "列号不能小于等于零"
- Exit Sub
- End If
- Cells(arr(0) * 1, arr(1) * 1) = "=int(rand()*99)+1"
- Cells(arr(0) * 1, arr(1) * 1).Value = Cells(arr(0) * 1, arr(1) * 1).Value
- Cells(arr(0) * 1, arr(1) * 1).NumberFormatLocal = "00"
- End Sub
复制代码 两个inputbox:- Sub xx()
- Dim str$, c&, r&
- r = Application.InputBox("请输入产生的行号:", "输入提示")
- c = Application.InputBox("请输入产生的列号:", "输入提示")
- If r < 1 Then
- MsgBox "行号不能小于等于零"
- Exit Sub
- End If
- If c < 1 Then
- MsgBox "列号不能小于等于零"
- Exit Sub
- End If
- Cells(c, r) = "=int(rand()*99)+1"
- Cells(c, r).Value = Cells(c, r).Value
- Cells(c, r).NumberFormatLocal = "00"
- End Sub
复制代码 |
|