重复 Excel 中的单元格列表 X 次

重复 Excel 中的单元格列表 X 次

我有一份 Excel 中的姓名列表,

例如

Lizzy
William
Kate
Charles

我想使用一些 VBA 代码(或其他方法重复这 12 次)。

我会一遍又一遍地这样做,有时我的名字列表可能会包含更多或更少的内容。

我真的陷入困境了,有人能给我指明方向吗?

在这个特定情况下我想要的输出是,

Lizzy
William
Kate
Charles
Lizzy
William
Kate
Charles
Lizzy
William
Kate
Charles
Lizzy
William
Kate
Charles
Lizzy
William
Kate
Charles
Lizzy
William
Kate
Charles
Lizzy
William
Kate
Charles
Lizzy
William
Kate
Charles
Lizzy
William
Kate
Charles
Lizzy
William
Kate
Charles
Lizzy
William
Kate
Charles
Lizzy
William
Kate
Charles

我已尝试过:

我发现了一个使用公式的方法,你看,https://www.excel-bytes.com/how-to-repeat-a-range-of-items-multiple-times-in-excel/

然而,这样做的问题是索引初始列表,因为我的列表会改变。链接到搁置的问题:复制并粘贴 Excel 中的姓名列表 12 次

这个问题最初是由另一位用户提出的,但被搁置了,所以我无法回答。我有一个解决方案,所以我重新提出了这个问题,我会提供答案并标记原始提问者。

答案1

包含列中的数据A, 在B1进入:

=IF(ROW()>COUNTA(A:A)*12,"",INDEX(A:A,MOD(ROW()-1,COUNTA(A:A))+1))

并向下复制:

在此处输入图片描述

柱子将自动调整列A变化。

答案2

对于 Excel 电子表格第一列中的任何姓名列表,此 VBA 代码将根据单元格 C2 中的条目重复,因此,如果您希望重复列表 10 次,并且原始列表中有 10 个姓名,请在原始列表中插入 110。

    Option Explicit

Sub LRow()

    Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheet1")  '<=== Edit Sheet Name
    Dim LRow As Long

    LRow = ws.Range("A" & ws.Rows.Count).End(xlUp).Row

    ws.Range("A1:A" & LRow).Select

End Sub

这是您需要的第一个代码,它基本上突出显示了 A 列中的任何内容。

代码的第二部分将列表向下拖拽,使得其重复。

将它们都添加进去并将第二个作为宏运行。

我希望这有帮助。

    Sub Master()
'
' Master Macro
'

'
    LRow
    Selection.AutoFill Destination:=Range("A1:A" & Range("C2").Value), Type:=xlFillDefault
    Range("A1:A" & Range("C2").Value).Select
    Range("B1").Select
End Sub

相关内容