excel在按保存单据后自动按客户加编号为名称保存到指定的目录下面。按清除数据后保留原有表格把数据清除

方便可加QQ540645761excel在按保存/打印单据后自动按客户加编号为名称保存到指定的目录下面(汇总表)自动清除数据后保留原有表格,同时跳转下一个制单编号。最好能分类(供应商)单独建汇总表
汇总表方便对账,同时还能汇总一个库存表最好

打印并保存记录 2012-3-19 10:24 在一些需要打印票据的时候,还想将所打印的数据保存下来。比如“销售单”,每打印 一票,同时让数据保存到另一个工作表中,便于月末核对销售总数及其他统计需要。 这次介绍的方法,就是在“票据打印”工作表中,每打印一张销售单据,同时将票面数 据依次保存到“记录”工作表中,便于核对。保存完成后,自动清空销售单中的数据, 单据的号码也会自动递增一个数字,以便下一张单据输入。 需要在同一工作簿中设置两张工作表,一个是“票据打印”,用于打印单据,另一个工 作表是“记录”,用于保存数据。 先在“票据打印”工作表中“画”好所需要的单据样式,如下图: 其中E2单元格是单据的编号,可先输入一个单据的起始单号。 C7单元格是数量汇总公式=SUM(C4:C6) E4单元格是计算数量乘单价的金额公式=C4*D4,把这个公式向下拖动复制到E5与E6单元格。 E7单元格是金额汇总公式=SUM(E4:E6) 注意“票据打印”工作表D2单元格的格式设置为“日期”格式;“记录”工作表的B列也是“日期”格式。 根据“票据打印”工作表中的项目,在“记录”工作表的第一行进行设置(项目的位置 是由下面的代码决定的,大家可自己灵活调整)。 下面编写打印并保存的代码,按ALT+F11调出VBA窗口,插入一个用户模块,把下面代码粘贴进去。 Sub 打印() '打印票据 Sheets("票据打印").Select ActiveWindow.SelectedSheets.PrintOut '调用打印命令打印当前页 '保存数据 With Sheets("记录") x = .Range("a65536").End(xlUp).Row + 1 '取得“记录”表中最后一个空行的行号(即写入位置) For i = 0 To 2 '商品信息分三行,为了简化代码,使用循环语句 .Cells(x + i, 1) = [b2] '客户 .Cells(x + i, 2) = [d2] '日期 .Cells(x + i, 3) = [e2] '单据编号 .Cells(x + i, 4) = Cells(i + 4, 1) '商品名称 .Cells(x + i, 5) = Cells(i + 4, 2) '规格 .Cells(x + i, 6) = Cells(i + 4, 3) '数量 .Cells(x + i, 7) = Cells(i + 4, 4) '单价 .Cells(x + i, 8) = Cells(i + 4, 5) '金额 .Cells(x + i, 9) = [b8] '收款人 .Cells(x + i, 10) = [e8] '复核人 Next End With '清除数据(单据编号E2格与有公式的单元格不用清除) Range("b2,d2,a4:d6,b8,e8").ClearContents '最后让票据的号码自动加1 s = Range("e2") '收据上的当前序号在E2单元格 Range("e2") = Left(s, 2) & Right("0000" & Right(s, 4) + 1, 4) '打印完毕后让序号加一(编号的左两位是字符,右四位是数字) MsgBox "打印并保存完毕", , "提示" End Sub 为了方便执行代码,再添加一个按钮,并指定“打印”宏。 在EXCEL2003版中调出“视图-工具栏-窗体”工具栏,用鼠标选其中的“按钮”控件 ,在表格适当位置“画”出一个按钮,然后在它上面点鼠标右键,选“指定宏”,从弹 出的宏窗口中选择“打印”,确定即可。 最后在添加好的“按钮”上点鼠标右键,从快捷菜单上选“编辑文字”,输入“打印并保存”。 提示:如果是EXCEL2007用户,添加按钮要从“开发工具-表单控件”中添加。 至此,这个表格就可以使用了,每次在按“打印并保存”按钮后,票据中的数据自动保 存在“记录”表中。在需要统计数据的时候,就可以通过函数从“记录”表中统计出所 需数据。 比如,想统计总销售金额,可以用公式=SUM(H:H) ;统计张三的收款总金额,可用公式 =SUMIF(I:I,"张三",H:H) ;统计乙商品的销售总数量,可用公式=SUMIF(D:D,"乙商品",F:F) 。 其实本文的重点是“保存”记录,对票据样式大家可自己根据实际设置,只要注意通过 代码将“记录”表中的项目要与“票据打印”中的项目对应就行了。 代码中的第8行是通过循环语句写三行数据(本文票据的行数为三行),如果您的数据 不多,也可不用循环,直接用多个类似 Sheets("记录").cells(x,1)=[b2]的语句就行。 通过这个例子,大家可以掌握“保存”记录的方法,把它灵活运用以后,在现实工作中追问

我想要的就是这样,但是表不一样,编程看不懂,所有修改不了,我的这个表要复杂些

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-07-25
这就需要代码来做了。
第2个回答  2018-07-25
感觉很复杂,写代码没有一天时间理不清楚你的流程还要测试追问

要这么长的时间

第3个回答  2018-07-26
试试vba吧追问

就是不懂编程啊

相似回答