Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从列表中复制元素“;";泰晤士报,excelvba_Vba_Excel - Fatal编程技术网

从列表中复制元素“;";泰晤士报,excelvba

从列表中复制元素“;";泰晤士报,excelvba,vba,excel,Vba,Excel,我对Vba真的很陌生,所以我试着学习一些使我的工作不那么重复 我有一个这种格式的列表,我有大约550行 Name N AAAAA 2 BBBB 5 CCCCC 7 我需要把每个名字复制n次,就像这样 AAAAA AAAAA BBBBB BBBBB BBBBB BBBBB BBBBB 在姓氏之前,应该是1500行左右 我找不到任何方法来做这件事。请帮忙 提前感谢这段简单的代码可以做到: Sub

我对Vba真的很陌生,所以我试着学习一些使我的工作不那么重复

我有一个这种格式的列表,我有大约550行

Name        N
AAAAA       2
BBBB        5
CCCCC       7
我需要把每个名字复制n次,就像这样

AAAAA    
AAAAA    
BBBBB    
BBBBB    
BBBBB    
BBBBB    
BBBBB
在姓氏之前,应该是1500行左右

我找不到任何方法来做这件事。请帮忙


提前感谢

这段简单的代码可以做到:

Sub expand()

    With Worksheets("Sheet2") 'Source sheet
        Dim rng As Variant
        rng = .Range(.Cells(2, 1), .Cells(.Rows.Count, 2).End(xlUp)).Value

        Dim oRng() As Variant
        ReDim oRng(1 To Application.Sum(Application.Index(rng, 0, 2)), 1 To 1)
    End With

    Dim i As Long
    Dim k As Long
    k = 1
    For i = 1 To UBound(rng, 1)
        Dim j As Long
        For j = 1 To rng(i, 2)
            oRng(k, 1) = rng(i, 1)
            k = k + 1
        Next j
    Next i

    With Worksheets("Sheet2").Range("C1") 'Ouput range
        .Resize(UBound(oRng, 1), 1).Value = oRng
    End With



End Sub

它工作得很好!!!谢谢,如果每一行(最初的一行)都有更多的信息,比如AAAA 2 item 1 item 2有没有办法用相同的代码来表达呢?每行有不同数量的项目,这是每行旁边的数字AAAA项目1 AAAA项目2提前感谢这是一个新问题。尝试修改上述代码以满足您的需要。如果你不能提出一个新的问题,请回到这个问题,并展示你试图修改的内容。请在回答此问题时将其标记为正确。