VBA Excel制作序列号数组

我目前在Excel的VBA工作,但我真的只精通Matlab。 对于我的工作来说,留在vba(而不是excel的工作表中)的记忆是非常重要的。 我需要做的是做一个顺序整数数组,例如4000到5000.在matlab中,这真的很容易,我只是做… i = 4000:5000,或i = 4000:1:5000。 在第二种情况下,1是我的“步骤”。 我想知道什么是最好的方式来实现这个结果的VBA? 谢谢

以下是创build并显示一组连续数字的示例:

 Sub seqnum() Dim firstnum As Long, secnum As Long firstnum = 7 secnum = 23 ReDim ary(1 To secnum - firstnum + 1) As Long For i = 1 To UBound(ary) ary(i) = firstnum + (i - 1) Next i msg = "" For i = 1 To UBound(ary) msg = msg & i & vbTab & ary(i) & vbCrLf Next i MsgBox msg End Sub 

没有循环 – 只是在发布后看到上面的Rory相同的答案

 Sub MakeArray() Dim x As Long, y As Long, arr As Variant x = 4000: y = 5000 arr = Evaluate("Row(" & x & ":" & y & ")") 'Show result Sheets(1).Range("A1").Resize(y - x + 1) = arr End Sub 

我们“填写” – “系列”:写在第一个单元格号前。 400,在“系列”窗口插入增量步骤,并在“停止值”最后一个值。 恩。 420或与macros

 Range("I1").Select ActiveCell.FormulaR1C1 = "4000" Range("I1").Select Selection.DataSeries Rowcol:=xlColumns, Type:=xlLinear, Date:=xlDay, _ Step:=1, Stop:=4020, Trend:=False