生成1:N序列数组

问题描述 投票:0回答:1

我目前正在尝试生成一个序列号(1:N)的数组,以填充水平范围($ C $ 6:N)。当我使用application.transpose时,我的整个范围都填充为1,当我不使用它时,整个范围为空白。我在下面附加了我的代码。 pn是我要填充的范围,nop是它的计数。谢谢!

最好,M

pn.Value = Array(Application.WorksheetFunction.Sequence(1, nop.Value))
excel vba excel-vba
1个回答
0
投票

我在下面放置了两个选项,

第一名:(这似乎是您想要的)

Sub generateSequence_One()

'Start at a cell and generate till a number

Dim pn As Range
Dim nop As Long

    Set pn = Range("C6")    'starting cell
    nop = 250   'number of entries

    For i = 1 To nop
        pn.Offset(, i - 1).value = i
    Next

End Sub

和第二个,如果您已经知道要填充的范围,则不知道直到哪个数字才使用此选项

Sub generateSequence_Two()

'set a range and fill it with a sequence

Dim cell As Range
Dim n As Long

    n = 1

    For Each cell In Range("C6:Z6").Cells   'known range to fill
        cell.value = n
        n = n + 1
    Next

End Sub
© www.soinside.com 2019 - 2024. All rights reserved.