0

为简单起见,假设我有一列 5 个数字,如下所示:-

8
15
8
3
26

我想要做的是创建一个列,首先由 8 个包含值“8”的单元格组成,然后是 15 个包含值“15”的单元格,然后是 8 个包含值“8”的单元格,依此类推。因此,此示例将导致 60 个单元格的列长度(但是,我的现实生活中的列有超过 200 个数字,并且会产生大约 2500 个数字的列!)。

这可能吗?它需要一个公式还是一个宏?(恐怕我也不是很擅长,所以如果这是一个简单的问题,我很抱歉。)任何建议都非常受欢迎。

4

1 回答 1

0

Try this

Public Sub Test()

    PopulateColumn Range("A1"), Range("B1")

End Sub


Public Sub PopulateColumn(ByVal rngSourceStart As Range, ByVal rngTargetStart As Range)

    Dim rngSource As Range
    Dim rngTarget As Range

    Set rngSource = rngSourceStart
    Set rngTarget = rngTargetStart

    Dim iValue As Integer
    Dim i As Integer

    While rngSource.Value <> ""
        iValue = rngSource.Value
        For i = 1 To rngSource.Value
            rngTarget.Value = iValue
            Set rngTarget = rngTarget.Offset(1, 0)
        Next
        Set rngSource = rngSource.Offset(1, 0)
    Wend

End Sub
于 2013-04-26T03:08:29.043 回答