学校家长信息采集表模板

学校家长信息采集表模板,第1张

学校家长信息采集表模板 学生家庭信息采集表,监护人工作单位。父母都下岗如何填excel模板填写数据,打印后自动保存到另外一个表中,并清空本模板数据,怎么实现呢?

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

因此,如果你希望实现类似的功能,建议如下: 1、花点儿钱请人完成并帮忙跟进维护(出问题及时解决,以及以后不断改进); 2、自己学VBA,然后上网找一些近似的案例来参考,然后根据自己的需要进行开发。

对于以上提及的第2点,我曾用VBA开发的一个库存信息管理系统的案例供参考。

功能包括开单发货、收货入账、库存查询、调整改单等,如下图所示:其中您提及的按Excel模板填写数据,打印后自动保存到另外一个表中,并清空本模板数据的问题,跟其中的“开单发货”或“收货入账”功能十分类似,以其中“开单发货”为例进行说明。

具体模板及功能按钮设计如下图所示:其中橙色空格为可填写位置,同行相关内容会自动带出,填写完毕后,单击“打单发货”,会连接打印机打印该单据,然后,将相应的数据写入到收发货表里,如下图所示:其中,“打单发货”功能的核心代码如下:Sub 开单发货()' 将发货单数据添加到收发货表并打印单据' On Error GoTo ErrProcessCall UnlockWorksheet(DecisionSupport)Call UnlockWorksheet(InOutData)'===================================判断发货单信息是否已完整================================'If Range("B3").Value = "" ThenMsgBox "亲,未选择客户,你到底要把货发给谁呢? vbOKOnly, "订单信息不完整"Range("B3").SelectExit SubElseIf Range("E3").Value = "" ThenMsgBox "亲,不填写订单日期会导致做账不准的哦。

vbOKOnly, "订单信息不完整"Range("E3").SelectExit SubElse '判断产品信息是否完整Dim rowOfGoods As Integer'判断产品信息中的第一行(row(5))是否完整rowOfGoods = 5If Application.WorksheetFunction.CountA(Range("A" & rowOfGoods & ":H" & rowOfGoods)) <= 3 ThenMsgBox "亲,订单必须包含至少一个产品信息,并且应从第5行起按顺序填写的哦! vbOKOnly, "订单信息不完整"Range("B" & rowOfGoods).SelectExit SubElseIf Range("B" & rowOfGoods).Value = "" Or Range("C" & rowOfGoods).Value = "" Or Range("D" & rowOfGoods).Value = "" ThenMsgBox "亲,第" & rowOfGoods & "行产品信息不完整,应包含【系列、名称、颜色】的哦! vbOKOnly, "订单信息不完整"Range("B" & rowOfGoods).SelectExit SubElseIf Range("F" & rowOfGoods).Value = "" ThenMsgBox "亲,第" & rowOfGoods & "行未输入产品数量哦! vbOKOnly, "订单信息不完整"Range("F" & rowOfGoods).SelectExit SubElseIf Range("G" & rowOfGoods).Value = "" ThenMsgBox "亲,第" & rowOfGoods & "行未输入产品价格哦! vbOKOnly, "订单信息不完整"Range("G" & rowOfGoods).SelectExit SubEnd IfEnd If'判断产品信息中的其他行(row(6-13))如果有信息的话是否完整For rowOfGoods = 6 To 13If Application.WorksheetFunction.CountA(Range("A" & rowOfGoods & ":H" & rowOfGoods)) > 3 And Application.WorksheetFunction.CountA(Range("A" & rowOfGoods - 1 & ":H" & rowOfGoods - 1)) > 3 ThenIf Range("B" & rowOfGoods).Value = "" Or Range("C" & rowOfGoods).Value = "" Or Range("D" & rowOfGoods).Value = "" ThenMsgBox "亲,第" & rowOfGoods & "行产品信息不完整,应包含【系列、名称、颜色】的哦! vbOKOnly, "订单信息不完整"Range("B" & rowOfGoods).SelectExit SubElseIf Range("F" & rowOfGoods).Value = "" ThenMsgBox "亲,第" & rowOfGoods & "行未输入产品数量哦! vbOKOnly, "订单信息不完整"Range("F" & rowOfGoods).SelectExit SubElseIf Range("G" & rowOfGoods).Value = "" ThenMsgBox "亲,第" & rowOfGoods & "行未输入产品价格哦! vbOKOnly, "订单信息不完整"Range("G" & rowOfGoods).SelectExit SubEnd If'中间有空行的提示ElseIf Application.WorksheetFunction.CountA(Range("A" & rowOfGoods & ":H" & rowOfGoods)) > 3 And Application.WorksheetFunction.CountA(Range("A" & rowOfGoods - 1 & ":H" & rowOfGoods - 1)) <= 3 ThenMsgBox "亲,第" & rowOfGoods - 1 & "行产品信息为空,会给客户很不好的印象的哦! vbOKOnly, "订单信息不规范"Exit SubEnd IfNextEnd If'===================================自动生成发货单订单编号================================'发货单订单编号格式: "F"+"yyyymmdd"+三位序列号,如2012年3月1日第2张发货单,订单编号为:F20120301002'订单编号由系统自动生成,其中所用"yyyymmdd"不一定与订单日期一致,由此可体现单据是否当天完成等情况Dim orderNumber As StringDim yearOfDate As StringDim monthOfDate As StringDim dayOfDate As StringDim lastOrderDate As DateDim lastOrderNumber As Integer'取得制单当天年月日yearOfDate = Str(Year(Date))yearOfDate = Right(yearOfDate, 4)monthOfDate = Str(Month(Date))If Len(monthOfDate) = 2 ThenmonthOfDate = "0" & Right(monthOfDate, 1)ElsemonthOfDate = Right(monthOfDate, 2)End IfdayOfDate = Str(Day(Date))If Len(dayOfDate) = 2 ThendayOfDate = "0" & Right(dayOfDate, 1)ElsedayOfDate = Right(dayOfDate, 2)End If'生成订单编号前段orderNumber = "F" & orderNumber & yearOfDate & monthOfDate & dayOfDatelastOrderDate = DecisionSupport.Range("J3").ValuelastOrderNumber = DecisionSupport.Range("K3").Value'判断前期所用订单编号情况,并将新的订单编号情况更新到最后订单编号记录(决策信息表中的J3:K3中)If lastOrderDate = Date ThenlastOrderNumber = lastOrderNumber + 1If lastOrderNumber < 10 ThenorderNumber = orderNumber & "00" & lastOrderNumberElseIf lastOrderNumber < 100 ThenorderNumber = orderNumber & "0" & lastOrderNumberElseorderNumber = orderNumber & lastOrderNumberEnd IfDecisionSupport.Range("K3").Value = lastOrderNumberElseDecisionSupport.Range("J3").Value = DateDecisionSupport.Range("K3").Value = 1orderNumber = orderNumber & "001"End If'将订单编号填写到发货单中一并打印Bill.Range("H3").Value = orderNumberBill.Range("I15").Value = getOperatorName()'设置屏幕不更新,加快程序执行速度Application.ScreenUpdating = False'==============================================清除发货单提醒颜色============================================Call 清除发货单提醒颜色'==================================================打印发货单================================================'要求预先设置好默认打印机ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _IgnorePrintAreas:=False'=========================================导入发货数据到收发货汇总表========================================='=== 为避免打印出错时数据已导入,因此改为在打印后再导入数据 ===Dim startRowNumber As IntegerDim OrderItems As IntegerDim i As IntegerstartRowNumber = Application.WorksheetFunction.CountA(InOutData.Range("G:G"))OrderItems = Application.WorksheetFunction.CountA(Bill.Range("C5:C13"))For i = 1 To OrderItemsInOutData.Range("C" & startRowNumber + i).Value = getOperatorName()InOutData.Range("D" & startRowNumber + i).Value = Bill.Range("E3").ValueInOutData.Range("E" & startRowNumber + i).Value = Bill.Range("H3").ValueInOutData.Range("F" & startRowNumber + i).Value = Bill.Range("B" & 4 + i).ValueInOutData.Range("G" & startRowNumber + i).Value = Bill.Range("C" & 4 + i).ValueInOutData.Range("H" & startRowNumber + i).Value = Bill.Range("D" & 4 + i).ValueInOutData.Range("I" & startRowNumber + i).Value = Bill.Range("B3").ValueInOutData.Range("J" & startRowNumber + i).Value = "发货"InOutData.Range("K" & startRowNumber + i).Value = -Bill.Range("F" & 4 + i).ValueInOutData.Range("L" & startRowNumber + i).Value = Bill.Range("G" & 4 + i).ValueNext i'================================================清除发货单内容=============================================='Call 清除发货单内容'==============================================恢复发货单提醒颜色============================================='Call 恢复发货单提醒颜色'恢复选定单元格到选择客户位置(B3),并设置程序屏幕为可更新Range("B3").SelectApplication.ScreenUpdating = TrueCall LockWorksheet(DecisionSupport)Call LockWorksheet(InOutData)Exit Sub'ErrProcess:' MsgBox "系统【开单发货功能】发生错误,请与系统开发人员联系。

" , vbOKOnly, "程序错误"' Call 清除发货单内容' Call 恢复发货单提醒颜色End Sub其中包含多个数据校验和调用相关清空数据、恢复背景颜色等过程,可根据实际需要自行编写。

总的来说,类似VBA的应用可以做到非常灵活,但是,基本都需要按照自己的需要进行单独的开发。

一般建议如果自身没有开发能力,尽可能找有技术的人员帮忙开发和持续跟进运维。

更多精彩内容,尽在【Excel到PowerBI】我是大海,微软认证Excel专家,企业签约Power BI顾问让我们一起学习,共同进步!

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
乐在赚 » 学校家长信息采集表模板

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情