Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 5723|回复: 14

[已解决]送货单自动保存

[复制链接]
发表于 2015-10-12 11:49 | 显示全部楼层 |阅读模式
求助!希望各位大师帮帮忙,完善下此表格!谢谢!
    希望按下    保存  按钮时,送货单中的变量自动保存至  送货单明细  中去;
           按下   新建   按钮时,送货单中的变量自动清空并单号自动增加1;
           按下   打印   按钮时,自动打印选定区域。
谢谢! 新建 WinRAR 压缩文件.rar (14.49 KB, 下载次数: 9)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2015-10-12 13:26 | 显示全部楼层    本楼为最佳答案   
  1. Sub 保存()
  2.     arr = [b5:I7]
  3.     Dim brr(1 To 3, 1 To 9)
  4.     For i = 1 To 3
  5.         If Len(arr(i, 1)) > 0 Then
  6.             n = n + 1
  7.             brr(n, 1) = [c3]: brr(n, 2) = [I1]: brr(n, 3) = [d2]
  8.             brr(n, 4) = arr(i, 1)
  9.             For j = 5 To 9
  10.                 brr(n, j) = arr(i, j - 1)
  11.             Next
  12.         End If
  13.     Next
  14.     If n > 0 Then Sheet2.[a65536].End(3).Offset(1).Resize(n, 9) = brr: MsgBox n & "条记录已保存!"
  15. End Sub

  16. Sub 新建()
  17.     dh = [I1]
  18.     x = Format(Val(Right(dh, 3)) + 1, "000")
  19.     dh = Left(dh, Len(dh) - 3) & x
  20.     [I1] = dh
  21.     [b5:g7].ClearContents
  22. End Sub

  23. Sub 打印()
  24.     ActiveSheet.PrintOut
  25. End Sub
复制代码
回复

使用道具 举报

发表于 2015-10-12 13:26 | 显示全部楼层
请看附件。

送货单.rar

21.3 KB, 下载次数: 30

回复

使用道具 举报

 楼主| 发表于 2015-10-12 14:22 | 显示全部楼层
grf1973 发表于 2015-10-12 13:26
请看附件。

谢谢大师!!!已经弄好了!谢谢!!!

回复

使用道具 举报

 楼主| 发表于 2015-10-12 16:44 | 显示全部楼层
grf1973 发表于 2015-10-12 13:26
请看附件。

请问大师  保存时怎么只能保存前3项呢??
回复

使用道具 举报

发表于 2015-10-12 16:55 | 显示全部楼层
谁说的?我这运行没问题。你是指的只保存三条记录吧?
回复

使用道具 举报

 楼主| 发表于 2015-10-12 16:57 | 显示全部楼层
grf1973 发表于 2015-10-12 16:55
谁说的?我这运行没问题。你是指的只保存三条记录吧?

是啊 !  至保存前三条
回复

使用道具 举报

发表于 2015-10-12 22:06 | 显示全部楼层
你的单子里面只有三条。。。。送货单不是固定样式吗?
回复

使用道具 举报

 楼主| 发表于 2015-10-13 07:47 | 显示全部楼层
grf1973 发表于 2015-10-12 22:06
你的单子里面只有三条。。。。送货单不是固定样式吗?

有6条,可以不固定吗?多的时候7条,8条,少的时候1条。谢谢大师!!!
回复

使用道具 举报

发表于 2015-10-13 09:25 | 显示全部楼层
  1. Sub 保存()
  2.     rmax = [b65536].End(3).Row       '送货单的数据填充最大行(b列的最末行)
  3.     arr = Range("a5:i" & rmax)
  4.     ReDim brr(1 To UBound(arr), 1 To 9)
  5.     For i = 1 To UBound(arr)
  6.         If Len(arr(i, 1)) > 0 Then
  7.             n = n + 1
  8.             brr(n, 1) = [c3]: brr(n, 2) = [I1]: brr(n, 3) = [d2]
  9.             brr(n, 4) = arr(i, 1)
  10.             For j = 5 To 9
  11.                 brr(n, j) = arr(i, j - 1)
  12.             Next
  13.         End If
  14.     Next
  15.     If n > 0 Then Sheet2.[a65536].End(3).Offset(1).Resize(n, 9) = brr: MsgBox n & "条记录已保存!"
  16. End Sub
复制代码

送货单.rar

21.11 KB, 下载次数: 105

回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-25 12:57 , Processed in 0.691585 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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