1. 首页
  2. 模板

请帖打印模板

求折纸模板打印图?上传到这里有水印,如有需要可以私聊我邮箱上传到这里有水印,如有需要可以私聊我邮箱excel模板填写数据,打印后自动保存到另外一个表中,并清空本模板数据,怎么实

求折纸模板打印图?

上传到这里有水印,如有需要可以私聊我邮箱

上传到这里有水印,如有需要可以私聊我邮箱

excel模板填写数据,打印后自动保存到另外一个表中,并清空本模板数据,怎么实现呢?

关于通过Excel模板填写数据,打印后自动保存到另外一个表中,并清空本模板数据的问题,可以通过VBA写程序来实现,但是,这种需求基本都要求个性化定制开发,因此,通常 不会有详细的教程。因此,如果你希望实现类似的功能,建议如下:

1、花点儿钱请人完成并帮忙跟进维护(出问题及时解决,以及以后不断改进);

2、自己学VBA,然后上网找一些近似的案例来参考,然后根据自己的需要进行开发。

对于以上提及的第2点,我曾用VBA开发的一个库存信息管理系统的案例供参考。功能包括开单发货、收货入账、库存查询、调整改单等,如下图所示:

其中您提及的按Excel模板填写数据,打印后自动保存到另外一个表中,并清空本模板数据的问题,跟其中的“开单发货”或“收货入账”功能十分类似,以其中“开单发货”为例进行说明。

具体模板及功能按钮设计如下图所示:

其中橙色空格为可填写位置,同行相关内容会自动带出,填写完毕后,单击“打单发货”,会连接打印机打印该单据,然后,将相应的数据写入到收发货表里,如下图所示:

其中,“打单发货”功能的核心代码如下:

Sub 开单发货()

' 将发货单数据添加到收发货表并打印单据

' On Error GoTo ErrProcess

Call UnlockWorksheet(DecisionSupport)

Call UnlockWorksheet(InOutData)

'===================================判断发货单信息是否已完整================================

'

If Range("B3").Value = "" Then

MsgBox "亲,未选择客户,你到底要把货发给谁呢?", vbOKOnly, "订单信息不完整"

Range("B3").Select

Exit Sub

ElseIf Range("E3").Value = "" Then

MsgBox "亲,不填写订单日期会导致做账不准的哦。", vbOKOnly, "订单信息不完整"

Range("E3").Select

Exit Sub

Else '判断产品信息是否完整

Dim rowOfGoods As Integer

'判断产品信息中的第一行(row(5))是否完整

rowOfGoods = 5

If Application.WorksheetFunction.CountA(Range("A" & rowOfGoods & ":H" & rowOfGoods)) <= 3 Then

MsgBox "亲,订单必须包含至少一个产品信息,并且应从第5行起按顺序填写的哦!", vbOKOnly, "订单信息不完整"

Range("B" & rowOfGoods).Select

Exit Sub

Else

If Range("B" & rowOfGoods).Value = "" Or Range("C" & rowOfGoods).Value = "" Or Range("D" & rowOfGoods).Value = "" Then

MsgBox "亲,第" & rowOfGoods & "行产品信息不完整,应包含【系列、名称、颜色】的哦!", vbOKOnly, "订单信息不完整"

Range("B" & rowOfGoods).Select

Exit Sub

ElseIf Range("F" & rowOfGoods).Value = "" Then

MsgBox "亲,第" & rowOfGoods & "行未输入产品数量哦!", vbOKOnly, "订单信息不完整"

Range("F" & rowOfGoods).Select

Exit Sub

ElseIf Range("G" & rowOfGoods).Value = "" Then

MsgBox "亲,第" & rowOfGoods & "行未输入产品价格哦!", vbOKOnly, "订单信息不完整"

Range("G" & rowOfGoods).Select

Exit Sub

End If

End If

'判断产品信息中的其他行(row(6-13))如果有信息的话是否完整

For rowOfGoods = 6 To 13

If Application.WorksheetFunction.CountA(Range("A" & rowOfGoods & ":H" & rowOfGoods)) > 3 And Application.WorksheetFunction.CountA(Range("A" & rowOfGoods - 1 & ":H" & rowOfGoods - 1)) > 3 Then

If Range("B" & rowOfGoods).Value = "" Or Range("C" & rowOfGoods).Value = "" Or Range("D" & rowOfGoods).Value = "" Then

MsgBox "亲,第" & rowOfGoods & "行产品信息不完整,应包含【系列、名称、颜色】的哦!", vbOKOnly, "订单信息不完整"

Range("B" & rowOfGoods).Select

Exit Sub

ElseIf Range("F" & rowOfGoods).Value = "" Then

MsgBox "亲,第" & rowOfGoods & "行未输入产品数量哦!", vbOKOnly, "订单信息不完整"

Range("F" & rowOfGoods).Select

Exit Sub

ElseIf Range("G" & rowOfGoods).Value = "" Then

MsgBox "亲,第" & rowOfGoods & "行未输入产品价格哦!", vbOKOnly, "订单信息不完整"

Range("G" & rowOfGoods).Select

Exit Sub

End If

'中间有空行的提示

ElseIf Application.WorksheetFunction.CountA(Range("A" & rowOfGoods & ":H" & rowOfGoods)) > 3 And Application.WorksheetFunction.CountA(Range("A" & rowOfGoods - 1 & ":H" & rowOfGoods - 1)) <= 3 Then

MsgBox "亲,第" & rowOfGoods - 1 & "行产品信息为空,会给客户很不好的印象的哦!", vbOKOnly, "订单信息不规范"

Exit Sub

End If

Next

End If


'===================================自动生成发货单订单编号================================

'发货单订单编号格式: "F"+"yyyymmdd"+三位序列号,如2012年3月1日第2张发货单,订单编号为:F20120301002

'订单编号由系统自动生成,其中所用"yyyymmdd"不一定与订单日期一致,由此可体现单据是否当天完成等情况

Dim orderNumber As String

Dim yearOfDate As String

Dim monthOfDate As String

Dim dayOfDate As String

Dim lastOrderDate As Date

Dim lastOrderNumber As Integer

'取得制单当天年月日

yearOfDate = Str(Year(Date))

yearOfDate = Right(yearOfDate, 4)

monthOfDate = Str(Month(Date))

If Len(monthOfDate) = 2 Then

monthOfDate = "0" & Right(monthOfDate, 1)

Else

monthOfDate = Right(monthOfDate, 2)

End If

dayOfDate = Str(Day(Date))

If Len(dayOfDate) = 2 Then

dayOfDate = "0" & Right(dayOfDate, 1)

Else

dayOfDate = Right(dayOfDate, 2)

End If

'生成订单编号前段

orderNumber = "F" & orderNumber & yearOfDate & monthOfDate & dayOfDate

lastOrderDate = DecisionSupport.Range("J3").Value

lastOrderNumber = DecisionSupport.Range("K3").Value

'判断前期所用订单编号情况,并将新的订单编号情况更新到最后订单编号记录(决策信息表中的J3:K3中)

If lastOrderDate = Date Then

lastOrderNumber = lastOrderNumber + 1

If lastOrderNumber < 10 Then

orderNumber = orderNumber & "00" & lastOrderNumber

ElseIf lastOrderNumber < 100 Then

orderNumber = orderNumber & "0" & lastOrderNumber

Else

orderNumber = orderNumber & lastOrderNumber

End If

DecisionSupport.Range("K3").Value = lastOrderNumber

Else

DecisionSupport.Range("J3").Value = Date

DecisionSupport.Range("K3").Value = 1

orderNumber = orderNumber & "001"

End If

'将订单编号填写到发货单中一并打印

Bill.Range("H3").Value = orderNumber

Bill.Range("I15").Value = getOperatorName()

'设置屏幕不更新,加快程序执行速度

Application.ScreenUpdating = False

'==============================================清除发货单提醒颜色============================================

Call 清除发货单提醒颜色

'==================================================打印发货单================================================

'要求预先设置好默认打印机

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _

IgnorePrintAreas:=False

'=========================================导入发货数据到收发货汇总表=========================================

'=== 为避免打印出错时数据已导入,因此改为在打印后再导入数据 ===

Dim startRowNumber As Integer

Dim OrderItems As Integer

Dim i As Integer

startRowNumber = Application.WorksheetFunction.CountA(InOutData.Range("G:G"))

OrderItems = Application.WorksheetFunction.CountA(Bill.Range("C5:C13"))

For i = 1 To OrderItems

InOutData.Range("C" & startRowNumber + i).Value = getOperatorName()

InOutData.Range("D" & startRowNumber + i).Value = Bill.Range("E3").Value

InOutData.Range("E" & startRowNumber + i).Value = Bill.Range("H3").Value

InOutData.Range("F" & startRowNumber + i).Value = Bill.Range("B" & 4 + i).Value

InOutData.Range("G" & startRowNumber + i).Value = Bill.Range("C" & 4 + i).Value

InOutData.Range("H" & startRowNumber + i).Value = Bill.Range("D" & 4 + i).Value

InOutData.Range("I" & startRowNumber + i).Value = Bill.Range("B3").Value

InOutData.Range("J" & startRowNumber + i).Value = "发货"

InOutData.Range("K" & startRowNumber + i).Value = -Bill.Range("F" & 4 + i).Value

InOutData.Range("L" & startRowNumber + i).Value = Bill.Range("G" & 4 + i).Value

Next i

'================================================清除发货单内容==============================================

'

Call 清除发货单内容

'==============================================恢复发货单提醒颜色=============================================

'

Call 恢复发货单提醒颜色

'恢复选定单元格到选择客户位置(B3),并设置程序屏幕为可更新

Range("B3").Select

Application.ScreenUpdating = True

Call LockWorksheet(DecisionSupport)

Call LockWorksheet(InOutData)

Exit Sub

'ErrProcess:

' MsgBox "系统【开单发货功能】发生错误,请与系统开发人员联系。" , vbOKOnly, "程序错误"

' Call 清除发货单内容

' Call 恢复发货单提醒颜色

End Sub

其中包含多个数据校验和调用相关清空数据、恢复背景颜色等过程,可根据实际需要自行编写。

总的来说,类似VBA的应用可以做到非常灵活,但是,基本都需要按照自己的需要进行单独的开发。一般建议如果自身没有开发能力,尽可能找有技术的人员帮忙开发和持续跟进运维。


更多精彩内容,尽在【Excel到PowerBI】

我是大海,微软认证Excel专家,企业签约Power BI顾问

让我们一起学习,共同进步!

在打印模板中输入序号,下面的模板资料就会跳到该序号的资料,用的是什么函数公式?

我是@EXCEL880实例视频网站长@欢迎关注我的头条,每天分享Excel实战技巧


这你算是问对人了,这个问题用我们专业的话语来说叫做批量套打,可以参考我录制的2个视频,讲的2种典型的套打模型表制作方法,同时也讲述了批量打印的技巧.截图如下,详情请看视频,需要案例文件可关注后私信回复14009

视频参考▼

一步步教你用EXCEL根据多行备案表制作审批表批量套打 VBA案例

http://www.toutiao.com/item/6461515000426005006/

{!-- PGC_VIDEO:{"thumb_height": 360, "file_sign": "0e451461bc66dccafce1b1f39c7cd239", "vname": "", "vid": "628534754a524a1197967c659a9e7ce7", "thumb_width": 640, "video_size": {"high": {"duration": 1032.52, "h": 480, "subjective_score": 0, "w": 854, "file_size": 21543027}, "ultra": {"duration": 1032.52, "h": 720, "subjective_score": 0, "w": 1280, "file_size": 34681919}, "normal": {"duration": 1032.52, "h": 360, "subjective_score": 0, "w": 640, "file_size": 17011368}}, "src_thumb_uri": "67b40003dd0ee7d63f66", "sp": "toutiao", "update_thumb_type": 1, "vposter": "http://p0.pstatp.com/origin/5fee000b5ce6e52d34c1", "vu": "628534754a524a1197967c659a9e7ce7", "duration": 1032.52, "thumb_url": "5fee000b5ce6e52d34c1", "thumb_uri": "5fee000b5ce6e52d34c1", "md5": "0e451461bc66dccafce1b1f39c7cd239"} --}

当然,还有个技巧和这有关就是喜闻乐见的发票套打,大家经常会看到一些发票打的乱七八糟的对不齐,我特意制作了下面的教程,希望各位套打发票的时候不要再对不齐了!

EXCEL套打发票终极技巧 手把手视频教学 相信你也学得会

http://www.toutiao.com/item/6457812035387261454/

{!-- PGC_VIDEO:{"vid": "5dbe5776eaff4936b3e3b1bb819c912f", "vu": "5dbe5776eaff4936b3e3b1bb819c912f", "duration": 492, "thumb_height": 360, "user_id": 2962477694, "neardup_id": 4261100317777142719, "video_size": {"high": {"h": 480, "subjective_score": 0, "w": 854, "file_size": 10731069}, "ultra": {"h": 718, "subjective_score": 0, "w": 1280, "file_size": 16762016}, "normal": {"h": 360, "subjective_score": 0, "w": 640, "file_size": 8474157}}, "vname": "\u5f55\u5236_2017_08_24_19_49_59_234.mp4", "hash_id": 4261100317777142719, "status": 0, "media_id": 50090367555, "thumb_width": 640, "external_covers": [{"mimetype": "webp", "source": "dynpost", "thumb_height": 360, "thumb_url": "375500089514df8a8dc7", "thumb_width": 640}], "item_id": 6457812035387261454, "thumb_url": "375400089bb3b7f1ebef", "thumb_uri": "375400089bb3b7f1ebef", "md5": "", "vposter": "http://p0.pstatp.com/origin/375400089bb3b7f1ebef", "src_thumb_uri": "375400089bb3b7f1ebef", "sp": "toutiao", "group_id": 6457812035387261454} --}

各位喜欢的多多点赞转发,在下谢过了!

前女友发来一张请帖,该不该去?

感谢邀请。

前女友发给你一张请帖。假如你真爱她,你应该去。如果你己经不喜欢她,你就没有必要去了。

你要真爱一个女人,你会一生都关注她,希望她生活的幸福。

即使她不爱你,没有和你结婚,你也会希望“只要你过的比我好"。

请帖该怎么写?

你需要什么答案?

本文来自投稿,不代表本站立场,如若转载,请注明出处。