|
张雄友 发表于 2013-12-2 19:07
我明白他的意思,用鼠标拖。再定位空值,输入=,上箭头,ctrl+enter。 - Sub 填充序列()
- Dim i&, arr, rng As Range, First As String, Last As String
- First = Val(InputBox("请输入起始值", "温馨提示", "2"))
- Last = Val(InputBox("请输入结束值", "温馨提示", "40000"))
- Set rng = Application.InputBox("在哪个单元格开始生成?", "温馨提示", , , , , , 8)
- If First = "" Or Last = "" Or rng = "" Then Exit Sub
- If (Last - First + 1) * 3 > Rows.Count Then MsgBox "生成的数据列大于表格最大允许的行", , "提示"
- ReDim arr(1 To (Last - First + 1) * 3, 1 To 1)
- TT = Timer
- For i = 1 To UBound(arr)
- arr(i, 1) = First + (i - 1) \ 3
- Next
- rng.Resize(UBound(arr)) = arr
- MsgBox "用时" & Format(Timer - TT, "0.00") & "秒"
- End Sub
复制代码 我明白你说的原因了,不过即使不用vba也是有办法的,vba我按照你的基础上稍微改动了下哈。你看下吧 |
|