VBA Excel生成一系列序列号

时间:2014-07-28 14:10:41

标签: excel matlab vba excel-vba

我目前在VBA for Excel工作,但我真的只精通Matlab。对于我的工作来说,为了时间目的而留在vba(而不是在excel的工作表上)的记忆非常重要。 我需要做的是创建一个连续整数数组,比如4000到5000。 在matlab中,这很简单,我只会... i = 4000:5000,或i = 4000:1:5000。第二种情况中的1是我的步骤。' 我想知道在vba中实现这个结果的最佳方法是什么? 感谢

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

没有循环 - 在发布

之后,刚刚看到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

答案 2 :(得分:-1)

我们"填写" - "系列": 写入第一个单元格编号ex。 400和#34;系列"窗口插入增量步骤和"停止值"最后的价值。恩。 420 或者使用宏

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