为简单起见,假设我有一个包含5个数字的列,如下所示: -
8
15
8
3
26
我想要做的是创建一个由8个单元格组成的列,其中包含值“8”,然后是包含值“15”的15个单元格,然后是包含值“8”的8个单元格,依此类推。因此,此示例将导致列长度为60个单元格(但是,我的真实列有超过200个数字,并且会产生大约2500个数字的列!)。
这可能吗?它需要一个公式还是一个宏? (我也不是很擅长,我很害怕,如果这是一个明智的话,请道歉。)任何建议都非常受欢迎。
答案 0 :(得分:0)
试试这个
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