Sub CreateSaleList()
AppSettings On Error GoTo ErrHandler Dim StartTime As Variant '开始时间
Dim UsedTime As Variant '使用时间
StartTime = VBA.Timer '记录开始时间 Dim Wb As Workbook
Dim Sht As Worksheet
Dim oSht As Worksheet
Dim NewSht As Worksheet
Dim iRow As Long
Dim NewRow As Long
Dim Dic As Object
Dim Key As String
Dim PageNo As Long Set Wb = Application.ThisWorkbook For Each oSht In Wb.Worksheets
If oSht.Name <> "明细" And oSht.Name <> "模板" Then
Debug.Print oSht.Name
oSht.Delete
End If
Next oSht Set Sht = Wb.Worksheets("明细")
Set oSht = Wb.Worksheets("模板") Set Dic = CreateObject("Scripting.Dictionary")
With Sht
iRow = 3 Do While .Cells(iRow, 1).Value <> ""
Key = .Cells(iRow, 1).Value
Dic(Key) = Dic(Key) + 1
PageNo = Int((Dic(Key) - 1) / 5) + 1
NewName = Key & "(" & PageNo & ")"
If Dic(Key) Mod 5 = 1 Then
' On Error Resume Next
' Wb.Worksheets(NewName).Delete
' On Error GoTo 0
oSht.Copy After:=Wb.Worksheets(Wb.Worksheets.Count)
Set NewSht = Wb.Worksheets(Wb.Worksheets.Count)
NewSht.Name = Key & "(" & PageNo & ")"
NewSht.Range("B3").Value = .Cells(iRow, "C").Value
NewSht.Range("E3").Value = .Cells(iRow, "B").Value
NewSht.Range("G2").Value = NewSht.Range("G2").Value & .Cells(iRow, "A").Value
NewSht.Range("G3").Value = NewSht.Range("G3").Value & .Cells(iRow, "L").Value
End If NewRow = 4 + (Dic(Key) - 1) Mod 5 + 1 NewSht.Cells(NewRow, 1).Value = .Cells(iRow, 6).Value
NewSht.Cells(NewRow, 2).Value = .Cells(iRow, 7).Value
NewSht.Cells(NewRow, 3).Value = .Cells(iRow, 8).Value
NewSht.Cells(NewRow, 4).Value = .Cells(iRow, 11).Value
NewSht.Cells(NewRow, 5).Value = .Cells(iRow, 10).Value
NewSht.Cells(NewRow, 6).Value = .Cells(iRow, 13).Value
NewSht.Cells(NewRow, 7).Value = .Cells(iRow, 9).Value iRow = iRow + 1
If iRow = 60 Then Exit Do '防止死循环
Loop
End With Set Wb = Nothing
Set Sht = Nothing
Set oSht = Nothing
Set NewSht = Nothing AppSettings False UsedTime = VBA.Timer - StartTime
MsgBox "本次运行耗时:" & Format(UsedTime, "#0.0000秒")
ErrorExit:
AppSettings False
Exit Sub
ErrHandler:
If Err.Number <> 0 Then
MsgBox Err.Description & "!", vbCritical, "QQ 84857038"
Debug.Print Err.Description
Err.Clear
Resume ErrorExit
End If End Sub Public Sub AppSettings(Optional IsStart As Boolean = True)
If IsStart Then
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.Calculation = xlCalculationManual
Application.StatusBar = ">>>>>>>>Macro Is Running>>>>>>>>"
Else
Application.ScreenUpdating = True
Application.DisplayAlerts = True
Application.Calculation = xlCalculationAutomatic
Application.StatusBar = False
End If
End Sub

  

20170716xlVba销售明细转销售单据的更多相关文章

  1. 销售及SAP销售业务方案思维导图

    销售: SAP销售方案:

  2. SAP 成套销售&按项目销售

    http://blog.sina.com.cn/s/blog_95ac31e30102x5we.html   分类: SAP_SD SAP 成套销售&按项目销售 一.业务简介 成套销售(KIT ...

  3. 快消品销售管理系统,PDA销售管理系统,销售拜访PDA,进销存管理PDA系统 移动扫描打印开单POS

    各种ERP软件的移动订单及移动车销解决方案是针对各个需要快速.便捷的,通过智能PDA移动智能终端设备实现销售订单下达及快速车销的应用解决方案.通过将移动订单及移动车销集成到ERP的移动解决方案,可以帮 ...

  4. 调用SAP函数创建寄售退货订单的时候报错:业务对象 BUS2032 是销售订单,销售凭证类别 H 是退货。

    RE.KR订单类型用BAPI_CUSTOMERRETURN_CREATE 其他用BAPI_SALESORDER_CREATEFROMDAT2

  5. PowerBI系列之入门案例动态销售报告

    本文将讲解如何从零开始使用PowerBI Desktop制作一份动态销售报告.帮助大家快速入门PowerBI Desktop的操作.我们先来看一下一份动态销售报告的构成. 1.左上角放置了小黎子数据分 ...

  6. ecshop功能目录

    右上 开店向导 1设置商店的一些基本信息 商店的名字.地址.配送方式.支付方式等 2给商店添加一些商品 商品的名称.数量.分类.品牌.价格.描述等 3恭喜您,您的网店可以使用了!下面是一些常用功能的链 ...

  7. 数据可视化之powerBI入门(十)认识Power BI的核心概念:度量值

    https://zhuanlan.zhihu.com/p/64150720 本文学习PowerBI最重要的概念:度量值 初学Power BI一般都会对度量值比较困惑,毕竟对长期接触Excel的人来说, ...

  8. Netsharp快速入门(之13) 销售管理(单据流转 销售订单生成发货单)

    作者:秋时 杨昶   转载须说明出处 4.5     单据流转 4.5.1  单据流转的目的 单据流转主要为了实现业务关系的流转,并记录相互之间的关系.例如从销售订单生成销货单,两张单据之间有对应的关 ...

  9. 改变传统的开单模式------手持POS终端移动销售开单 移动进销存的利器

    手持POS终端高清彩屏,清晰.美观.大方,适用于仓库.超市.服装.食品.批发零售.手机电脑等企业管理.可与管理软件灵活对接.1:员工记不住价格,产品名称,只要有PDA扫描,价格,库存,直接开销售单,打 ...

随机推荐

  1. Nuget的学习总结

    Nuget的学习总结 今天研究了一下nuget,发现nuget实在是太有用了,便写下了这篇博客,希望记录一下自己的学习历程,也希望技术圈的朋友看到之后,如果里面哪里写的不够好,可以给我些宝贵的意见,以 ...

  2. Java设计模式应用——责任链模式

    生产一个产品,需要依次执行多个步骤,才能完成,那么是使用责任链模式则是极好的. 在性能告警模块开发过程中,创建一条告警规则需要执行阈值解析,中间表生成,流任务生成,规则入库,告警事件入库等诸多操作.如 ...

  3. ELK学习笔记之CentOS 7下ELK(6.2.4)++LogStash+Filebeat+Log4j日志集成环境搭建

    0x00 简介 现在的公司由于绝大部分项目都采用分布式架构,很早就采用ELK了,只不过最近因为额外的工作需要,仔细的研究了分布式系统中,怎么样的日志规范和架构才是合理和能够有效提高问题排查效率的. 经 ...

  4. mysql jdbc性能优化之mybatis/callablestatement调用存储过程mysql jdbc产生不必要的元数据查询(已解决,cpu负载减少20%)

    INFO | jvm 1 | 2016/08/25 15:17:01 | 16-08-25 15:17:01 DEBUG pool-1-thread-371dao.ITaskDao.callProce ...

  5. Arduino使用HC05蓝牙模块与手机连接

    Arduino使用HC05蓝牙模块与手机连接 一切都是最好的选择 首先是线路连接,一定不要接错了 Arduino 代码 #include <SoftwareSerial.h> // Pin ...

  6. C++设计模式 之 “对象创建”模式:Factory Method、Abstract Factory、Prototype、Builder

    part 0 “对象创建”模式 通过“对象创建” 模式绕开new,来避免对象创建(new)过程中所导致的紧耦合(依赖具体类),从而支持对象创建的稳定.它是接口抽象之后的第一步工作. 典型模式 Fact ...

  7. 20145225唐振远《网络对抗》Exp4 恶意代码分析

    20145225唐振远<网络对抗>Exp4 恶意代码分析 基础问题回答 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪 ...

  8. 20145314郑凯杰《网络对抗技术》恶意DLL注入进程(进程捆绑)的实现

    20145314郑凯杰<网络对抗技术>恶意DLL注入进程(进程捆绑)的实现 一.本节摘要 简介:在这部分里,要实现将恶意后门悄无声息地与进程进行捆绑,通过和已运行的进程进行捆绑,达到附着攻 ...

  9. 20145332卢鑫 WEB安全基础实验

    20145332 WEB安全基础实验 实验过程 ·SQL字符串注入 ·Database Backdoors step1 ·Database Backdoors step2 ·Phishing with ...

  10. 20145335郝昊《网络攻防》Exp4 MS11_050

    20145335郝昊<网络攻防>Exp4 MS11_050 实验内容 初步掌握平台matesploit的使用 了解漏洞MS11_050漏洞:use-after-free漏洞,即对象被释放之 ...