【发布时间】:2020-01-21 16:36:17
【问题描述】:
我们的大部分订单都经过我们原来的包装团队,他们使用这种合并格式来包装每个客户的订单。
新团队要求每件商品位于单独的一行,因此每个销售订单需要五行,用于我们销售的每种类型的小部件。他们需要它看起来像这样:
我记录了一个复制/粘贴命令的宏来记录第一个命令:
Sub GrabOrders()
'
' GrabOrders Macro
'
'
Sheets("Raw Data").Select
Range("B2").Select
Selection.Copy
Sheets("Ship Sheet").Select
Range("A2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range("A2:A6"), Type:=xlFillDefault
Range("A2:A6").Select
Sheets("Raw Data").Select
Range("F1:J1").Select
Selection.Copy
Sheets("Ship Sheet").Select
Range("G2").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Sheets("Raw Data").Select
Range("F2:J2").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Ship Sheet").Select
Range("H2").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
End Sub
我现在需要将要复制的单元格(在原始格式选项卡上)向下移动一行到下一个顺序,并在新格式选项卡上粘贴从五行开始,以免覆盖数据从上一个订单开始。
项目名称将保持固定(在原始选项卡上的 F1、G1 等),而其他要复制的单元格将移动。我需要这个循环,直到它到达一个空白的销售订单单元格。
【问题讨论】:
-
你应该阅读How to avoid Select来提高你的效率。
-
我们这里缺少的是信息。例如,数据是否总是在这些精确范围内?您能否重新排列数据以使复制和粘贴更容易?为什么不使用内置的 Excel 引用?我们并不真正理解这个问题,所以很难得到答案。
标签: excel vba loops copy paste