设为首页收藏本站|繁體中文

Excel 技巧网

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

查看: 33567|回复: 36

[市场营销] 一个销售出库单样本,给需要的人

[复制链接]
发表于 2010-5-6 15:00:28 | 显示全部楼层 |阅读模式
  • 署名作者: KevinCheng
  • 版权声明: 版权归本站与作者共有 除本站官方外非作者本人转载须经许可并注明出处
  • 本文来自:
  • 引用作品: http://www.exceltip.net/thread-7550-1-3-21112.html
  • 适用版本: 2007 2003以前版本 
  • 语言环境: 简体中文
  • 学习方法: 掌握Excel技巧的关键是动手操作 | 下载 ≠ 知识


  • 免费注册成为本站会员,享用更多功能,结识更多Office办公高手!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    本帖最后由 kevinchengcw 于 2010-5-28 19:40 编辑

    根据本社区一个帖子提出的问题写出的一个出库单自动生成样本,相信很多有同样需要的人,拿出来与大家一起分享,见附件

    共分成三部来完成:
    一:提取客户信息存入“客户资料”工作表
    二:生成出库汇总(出库货品清单,出库单号及合格证号)
    三:生成要打印的出库单表格

    全部代码如下:
    1. Private Sub CommandButton1_Click()
    2. Dim Arr, Arr1, Arr2, Dic
    3. Dim M, N, R, No, I As Integer
    4. Set Dic = CreateObject("scripting.dictionary")
    5. '步骤一:
    6. Arr = Split("b2,e2,g2,B3,e3,G3", ",")  '生成要提取的客户资料于工作单中存放的单元格地址数组
    7. M = Worksheets("客户资料").[a65536].End(3).Row + 1  '取得客户资料中的要写入的行地址
    8. For N = 0 To UBound(Arr)    '循环提取客户资料
    9.     Worksheets("客户资料").Cells(M, N + 1) = Worksheets("工作单").Range(Arr(N))
    10. Next N
    11. '步骤二:
    12. With Worksheets("工作单")
    13.     For N = 5 To .[g65536].End(3).Row    '循环取值,并利用字典去除重复项
    14.         If Not Dic.exists(.Cells(N, 7).Value) Then Dic.Add .Cells(N, 7).Value, .Cells(N, 6).Value
    15.     Next N
    16. End With
    17. I = 1
    18. M = Worksheets("出库汇总").[a65536].End(3).Row + 1   '确定出库汇总中的续写行数起始值
    19. For N = 5 To Worksheets("工作单").[a65536].End(3).Row   '循环写入工作单只对应数据到出库汇总表中
    20.     With Worksheets("工作单")
    21.         Worksheets("出库汇总").Cells(M, 1) = .[b2]
    22.         Worksheets("出库汇总").Cells(M, 2) = .[e2]
    23.         Worksheets("出库汇总").Cells(M, 4) = .Cells(N, 6)
    24.         Worksheets("出库汇总").Cells(M, 5) = .Cells(N, 7)
    25.         If Day(Worksheets("出库汇总").Cells(M - 1, 2)) = Day(Worksheets("出库汇总").Cells(M, 2)) And M > 2 Then
    26.             If Worksheets("出库汇总").Cells(M, 4) = Worksheets("出库汇总").Cells(M - 1, 4) And Worksheets("出库汇总").Cells(M, 5) = Worksheets("出库汇总").Cells(M - 1, 5) Then
    27.                 Worksheets("出库汇总").Cells(M, 3) = Worksheets("出库汇总").Cells(M - 1, 3)
    28.             Else
    29.                 Worksheets("出库汇总").Cells(M, 3) = .[g1] & "-" & Val(Replace(Right(Worksheets("出库汇总").Cells(M - 1, 3), 2), "-", "")) + 1
    30.             End If
    31.         Else
    32.             Worksheets("出库汇总").Cells(M, 3) = .[g1] & "-1"
    33.         End If
    34.         Worksheets("出库汇总").Cells(M, 6) = ""
    35.         Worksheets("出库汇总").Cells(M, 7) = .Cells(N, 1)
    36.         Worksheets("出库汇总").Cells(M, 8) = .Cells(N, 2)
    37.         Worksheets("出库汇总").Cells(M, 9) = .Cells(N, 3)
    38.         Worksheets("出库汇总").Cells(M, 10) = .Cells(N, 4)
    39.         Worksheets("出库汇总").Cells(M, 11) = .Cells(N, 5)
    40.         If Month(Worksheets("出库汇总").Cells(M, 2)) = Month(Worksheets("出库汇总").Cells(M - 1, 2)) Then
    41.             If Worksheets("出库汇总").Cells(M, 9) > 1 Then
    42.                 Worksheets("出库汇总").Cells(M, 12) = Format(Worksheets("出库汇总").Cells(M, 2), "YYYYMM") & Format(Val(Right(Worksheets("出库汇总").Cells(M - 1, 12), 2)) + 1, "00") & "-" & Format(Worksheets("出库汇总").Cells(M, 2), "YYYYMM") & Format(Val(Right(Worksheets("出库汇总").Cells(M - 1, 12), 2)) + Worksheets("出库汇总").Cells(M, 9), "00")
    43.             Else
    44.                 Worksheets("出库汇总").Cells(M, 12) = Format(Worksheets("出库汇总").Cells(M, 2), "YYYYMM") & Format(Val(Right(Worksheets("出库汇总").Cells(M - 1, 12), 2)) + 1, "00")
    45.             End If
    46.         Else
    47.             If Worksheets("出库汇总").Cells(M, 9) > 1 Then
    48.                 Worksheets("出库汇总").Cells(M, 12) = Format(Worksheets("出库汇总").Cells(M, 2), "YYYYMM") & "01-" & Format(Worksheets("出库汇总").Cells(M, 2), "YYYYMM") & Format(Worksheets("出库汇总").Cells(M, 9), "00")
    49.             Else
    50.                 Worksheets("出库汇总").Cells(M, 12) = Format(Worksheets("出库汇总").Cells(M, 2), "YYYYMM") & "01"
    51.             End If
    52.         End If
    53.         M = M + 1
    54.     End With
    55. Next N
    56. '步骤三:
    57. Arr1 = Dic.keys  '生成写入项数组
    58. Arr2 = Split("器具名称,规格,数量,单价,价格,合格证号,其他说明", ",")  '生成标题项数组
    59. R = 1
    60. With Worksheets("出库单")   '删除旧有单据
    61.     .Columns("A:H").Insert shift:=xlToRight
    62.     .Columns("I:P").Delete
    63.     .Columns("A:H").EntireColumn.AutoFit
    64.     '.Columns("A:H").Cells.MergeCells = False
    65. End With
    66. For No = 0 To UBound(Arr1)   '循环生成出库单
    67.     With Worksheets("出库单")
    68.         .Cells(R, 1) = "出库单"
    69.         .Cells(R, 1).Offset(1, 0) = "单位名称"
    70.         .Cells(R, 1).Offset(1, 1) = Worksheets("工作单").Range(Arr(0))
    71.         .Cells(R, 1).Offset(1, 3) = "销售日期"
    72.         .Cells(R, 1).Offset(1, 4) = Worksheets("工作单").Range(Arr(1))
    73.         .Cells(R, 1).Offset(1, 4).NumberFormatLocal = "yyyy-m-d"
    74.         .Cells(R, 1).Offset(1, 5) = "出库单号"
    75.         .Cells(R, 1).Offset(1, 6) = Worksheets("工作单").Range("g1").Value & "-" & No + 1
    76.         .Cells(R, 1).Offset(2, 0) = "所属类别"
    77.         .Cells(R, 1).Offset(2, 1) = Dic.Item(Arr1(No))
    78.         .Cells(R, 1).Offset(2, 3) = "所属项目"
    79.         .Cells(R, 1).Offset(2, 4) = Arr1(No)
    80.         .Cells(R, 1).Offset(2, 5) = "出库日期"
    81.         .Cells(R, 1).Offset(2, 6) = ""
    82.         .Range(.Cells(R, 1).Offset(2, 1), .Cells(R, 1).Offset(2, 2)).MergeCells = True
    83.         .Range(.Cells(R, 1).Offset(1, 1), .Cells(R, 1).Offset(1, 2)).MergeCells = True
    84.         For M = 0 To UBound(Arr2)
    85.             .Cells(R, 1).Offset(3, M) = Arr2(M)
    86.         Next M
    87.         I = 0
    88.         For N = 3 To Worksheets("出库汇总").[a65536].End(3).Row
    89.             If Worksheets("出库汇总").Cells(N, 3) = .Cells(R, 1).Offset(1, 6) Then
    90.                 .Cells(R, 1).Offset(4 + I, 0) = Worksheets("出库汇总").Cells(N, 7)
    91.                 .Cells(R, 1).Offset(4 + I, 1) = Worksheets("出库汇总").Cells(N, 8)
    92.                 .Cells(R, 1).Offset(4 + I, 2) = Worksheets("出库汇总").Cells(N, 9)
    93.                 .Cells(R, 1).Offset(4 + I, 3) = Worksheets("出库汇总").Cells(N, 10)
    94.                 .Cells(R, 1).Offset(4 + I, 4) = Worksheets("出库汇总").Cells(N, 11)
    95.                 .Cells(R, 1).Offset(4 + I, 5) = Worksheets("出库汇总").Cells(N, 12)
    96.                 I = I + 1
    97.             End If
    98.         Next N
    99.         .Range(.Cells(R, 1), .Cells(R, 7)).MergeCells = True   '完成表格及格式设定
    100.         M = .[a65536].End(3).Row
    101.         .Range(.Cells(R, 1), .Cells(M, 7)).Borders.LineStyle =1
    102.         With .Range(.Cells(R, 1), .Cells(M, 7))
    103.             .HorizontalAlignment = xlCenter
    104.             .VerticalAlignment = xlCenter
    105.             .WrapText = False
    106.             .Orientation = 0
    107.             .AddIndent = False
    108.             .IndentLevel = 0
    109.             .ShrinkToFit = False
    110.             .ReadingOrder = xlContext
    111.         End With
    112.         For N = 1 To 7
    113.             .Columns(N).EntireColumn.AutoFit
    114.         Next N
    115.         R = M + 3
    116.      End With
    117. Next No   
    118. End Sub
    复制代码

    销售出库单.rar

    24.45 KB, 下载次数: 1004, 下载积分: 消费券 -5 Ti币

    一个销售出库单样本,给需要的人

    评分

    参与人数 3魅力值 +15 收起 理由
    战神一啸 + 5 哎呀,销售哦!
    泉水 + 5 谢谢,还有一小点问题需要修改,见楼上,谢 ...
    yd0209 + 5 赞叹!

    查看全部评分

    发表于 2010-5-6 20:35:41 | 显示全部楼层
    谢谢分享,顶一下!
    回复 支持 反对

    使用道具 举报

    发表于 2010-5-6 23:15:22 | 显示全部楼层
    这个集成功能挺好的
    回复 支持 反对

    使用道具 举报

    发表于 2010-5-8 07:16:29 | 显示全部楼层
    本帖最后由 泉水 于 2010-5-8 07:39 编辑

    太需要了,狂顶,谢谢分享,在快要失望的时候带来了希望!
    回复 支持 反对

    使用道具 举报

    发表于 2010-5-8 07:37:09 | 显示全部楼层
    本帖最后由 泉水 于 2010-5-8 07:43 编辑

    测试了一下,还有些小地方需要老师再次指导,测试数据及要求在压缩包内,谢谢!

    销售出库单 (1).rar

    25.34 KB, 下载次数: 73, 下载积分: 消费券 -5 Ti币

    一个销售出库单样本,给需要的人

    回复 支持 反对

    使用道具 举报

    发表于 2010-5-28 22:33:55 | 显示全部楼层
    顶一下!谢谢!
    回复 支持 反对

    使用道具 举报

    发表于 2010-6-7 17:12:17 | 显示全部楼层
    怎么用啊?
    回复 支持 反对

    使用道具 举报

    发表于 2010-6-29 14:52:44 | 显示全部楼层
    谢谢分享
    回复 支持 反对

    使用道具 举报

    发表于 2010-7-1 09:49:43 | 显示全部楼层
    顶,好贴!
    回复 支持 反对

    使用道具 举报

    发表于 2010-7-18 11:40:41 | 显示全部楼层
    太需要了,谢谢!下来看看
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    Excel技巧网的会员探讨问题仅代表其个人意见,与网站的立场无关。任何违反国家和地方相关法律法规的言论,本站有义务协助政府相关部门追究发言者的责任!
    本站中非注明转载文章与案例的版权为作者与Excel技巧网共有。若非原文作者,本站之外任何单位或个人未经允许,不得将其用于商业用途。
    若非原文作者,任何形式的非商业性转载必须获得Excel技巧网或作者允许,并注明作者和出处。
    会员发表的帖子如涉及版权纠纷,须自行负责。详情请参考注册时的网站服务条款。
    本站特聘法律顾问:沈学律师

    Archiver|手机版|Excel技巧网 ( 闽ICP备08107682号-2 ) | 闽公网安备 35020302032608号  

    GMT+8, 2018-7-23 11:54

    Powered by Discuz! X3.3

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表