我有一份 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
答案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