使用for循环将值复制并粘贴到同一行

时间:2020-06-07 10:42:40

标签: excel vba

我试图在同一行上复制和粘贴值,这意味着我应该使用for循环在同一行上复制了值(“ B3:I3”)。

我尝试了Rows(“ J”&(i + 2)&“:J”)和Offset(),但是没有用。

例如,如果我输入值5,则A3得到一个值。for循环应返回复制的值(“ B3:I3”)5次。但是返回值粘贴在单元格J3:Q6上。我需要从J3:Q3粘贴返回值,并从R3:Y3的下一个记录粘贴到第二个循环,并从Z3:AG3粘贴下一个记录

感谢我的建议,因为我是vba noob。

为清楚起见在主帖中添加了评论

Private Sub AddItem()

Dim TotalItem As Variant
TotalItem = Range("A3").Value - 1

Dim i As Integer

For i = 1 To TotalItem

Range("B3:I3").Copy
Rows("J" & i + 2).PasteSpecial Paste:=xlPasteValues

Next i

Application.CutCopyMode = False

End Sub

2 个答案:

答案 0 :(得分:0)

很抱歉,您还没有完全研究该任务,我希望这样做能做到。

Private Sub AddItem()
Dim TotalItem As Long
Dim rng As Range
With ThisWorkbook.ActiveSheet
    Set rng = .Range("B3:I3")
    TotalItem = ThisWorkbook.ActiveSheet.Range("A3").Value
    Dim lNumberOfCells As Long
    lNumberOfCells = rng.Cells.Count
    Dim i As Long
    For i = 1 To TotalItem
        .Range("B3:I3").Offset(, i * lNumberOfCells).Value = .Range("B3:I3").Value
    Next i
End With

结束子

答案 1 :(得分:0)

代替此帮助吗?

g = df1.groupby('Case')
df2 = g.agg(lambda s: ' '.join(s[s.ne('None')] if s.ne('None').any() else ['None']))
df2['Business_Process_Activity'] = g['Business_Process_Activity'].first()
df2 = df2.reset_index()