首页 > 解决方案 > Excel粘贴多次VBA

问题描述

我希望找到一个宏,它可以让我将某个值 X 次粘贴到单独的工作表中。理想情况下,“项目”的数量可以轻松更新。

例如表 1 如下所示:

Paste Value     Number of Pastes
Item 1          3
Item 2          1
Item 3          5

在第 2 页上,它将显示为

Item 1
Item 1
Item 1
Item 2
Item 3
Item 3
Item 3
Item 3
Item 3

我找到了在同一个工作表上发布的解决方案,但无法将其粘贴到单独的工作表中。

谢谢你的时间。

标签: excelvba

解决方案


这里作为一个模拟,你可以用来构建你需要的东西。在下面的代码中:
PasteValue ( x) = Col A
粘贴次数 ( y) = Col B
粘贴范围 = Col F

您需要将粘贴范围更改为所需的工作表。像Thisworkbook.Sheets("Sheet2").Range("A" & LRow2").PasteSpecial xlPasteValues应该工作的东西

Sub pasteX()

Dim LRow As Long, LRow2 As Long, x As Integer, y As Integer
LRow = Range("A" & Rows.Count).End(xlUp).Row

For x = 2 To LRow
y = Range("A" & x).Offset(, 1).Value
    For y = 1 To y
        LRow2 = Range("F" & Rows.Count).End(xlUp).Offset(1).Row
        Range("A" & x).Copy
        Range("F" & LRow2).PasteSpecial xlPasteValues
    Next y
Next x

End Sub

推荐阅读