【问题标题】:How to get multiple copies of a cell in a single row by n-number?如何按n个数在一行中获取多个单元格副本?
【发布时间】:2013-02-28 00:28:18
【问题描述】:

我想用 vba 代码解决这个问题。

我有一行,我想要同一行中每个单元格的多个副本。它需要将单元格复制 n 个数字。第 1 行将是要复制的信息。第 2 行是 n 数。

所以例子:

输入:(比如 n 数 = 3)

  • 约翰
  • 亨德里克
  • 萨拉

输出:

  • 约翰
  • 约翰
  • 约翰
  • 亨德里克
  • 亨德里克
  • 亨德里克
  • 亨德里克
  • 萨拉
  • 萨拉
  • 萨拉 ....

希望有人能帮帮我!

【问题讨论】:

  • 我想你这里的例子是转置的?您希望新信息覆盖现有信息吗?你试过什么?您有任何 VBA 或编程经验吗?我建议您将值读入数组,然后遍历该数组并使用范围对象的 resize 和 offset 方法将数组的内容粘贴到适当数量的单元格中。如果这完全没有意义,请告诉我,我会给你一些示例代码。

标签: excel copy repeat vba


【解决方案1】:

发件人:

收件人:

使用此代码:

Option Explicit

Sub CopyInAWeirdWay()
    Dim sh As Excel.Worksheet
    Dim LastRow As Long
    Dim currentCopyRow As Long
    Dim i As Long
    Dim k As Long

    Set sh = ActiveSheet
    LastRow = sh.Cells(sh.Rows.Count, 1).End(xlUp).Row
    currentCopyRow = 1

    For i = 1 To LastRow
        For k = 1 To sh.Cells(i, 2)
            sh.Cells(currentCopyRow, 3).Value = sh.Cells(i, 1).Value
            currentCopyRow = currentCopyRow + 1
        Next k
    Next i
End Sub

【讨论】:

  • 这是我想要的,只是我希望 n 数字从 B1 开始,复制列表从 C1 开始,所以一切都是分开的。我不能上传图片,因为我没有太多的声誉:(。
  • 知道了。给我几分钟
  • @MicheldeWinter,我修改了答案。这应该适合你
  • Joseph4tw 非常感谢!!
  • @MicheldeWinter 很高兴为您提供帮助!如果这解决了您的答案,您介意通过单击我的答案旁边的复选框来接受我的答案吗?
猜你喜欢
  • 1970-01-01
  • 2022-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-21
  • 2014-07-12
  • 1970-01-01
  • 2017-05-09
相关资源
最近更新 更多