添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
朋友电商的客户下单购买脐橙,有的客户同一个地址下单的数量会有2箱、3箱甚至更多箱。但是因为一箱脐橙20斤比较重,快递公司为了减轻压力, 要求一个单号只能寄一箱 。自然的, 需要把每一行箱数大于2的都分拆为每行一箱 ,这样才能顺利给快递打单发货(你要是问我为啥不丢给快递让他们去弄?这个时候快递都是大爷,都要求他们的,拽的很,你想早点发货就要按他们说的做)。 例如:张三1订购2箱,需要向下复制一行,每行的订购箱数改为1,如下图 Dim Rng As Range Dim i&, Col&, Fist, Last, j& Set Rng = Application.InputBox( "请选择分拆数据列!" , Type:= 8 ) '用户选择数据列 Set Rng = Intersect(Rng.Parent.UsedRange, Rng) 'intersect语句避免用户选择整列造成无谓运算 Col = Rng.Column 'Rng所在列 Fist = Rng.Row 'Rng开始行,用户选择的区域并不是一定从第一行开始,因此需要此句判断 Last = Fist + Rng.Rows.Count - 1 'Rng结束行 Application.ScreenUpdating = False '取消屏幕更新 Application.DisplayAlerts = False '取消消息提醒。当有值单元格被合并时屏蔽提示信息 Rng.Parent. Select '激活Rng对象所在的工作表,避免跨工作表操作问题 For i = Last To Fist Step -1 '对Rng进行从后向前遍历 For j = 1 To Cells(i, Col).Value - 1 Cells(i, Col).Value = 1 Rows(i).Copy             Rows(i + j).Insert Shift:=xlDown             Application.CutCopyMode = False Next Next End Sub