NO.1
vba编程是一个很意思的事情,当要做一个学期性表格进行填表工作的时候,可以利用vba代码来对表格进行编程操作。
在以后进行填表就显得十分轻松了。
维修作业是生产过程或维护维修工作中很频繁的一个工作,所以记录也相对比较多,过多的记录管理起来真的很麻烦。
利用表格进行记录就相当容易了,而且感觉什么都没做一样。
NO.2
本篇重点对维修录入和修改功能进行介绍。
其代码在以前的文章也有介绍,这次完全重构了代码结构,相对来说更加精练一些,其执行效率大大提高。
而且通用性能也很强,可以更改字段名称应用于不同的表格记录。
NO.3
添加维修记录,以字段为依据进行自动添加文本框,没有做下拉框,设置,可能在录入有一些不便,但是文本框有其灵活性。
多次应用下来,发现文本框对于界面的美观有很大的提高作用。
由于字段相对较少,内容输入快捷性就不考虑了,多打几个字也无妨。
NO.4
修改记录做了以编号为关键列表,当然如果愿意可以设置为其它字段为关键列表,更改很方便。
以前做修改功能较少,如果没有特别的要求,记录保存之后是不做修改处理的,但是修改也必不可少。
其代码也简单,做了几个函数调用,还是比较容易理解。
NO.5
表格样式,大致就是这样,和大多数记录表一样,没有什么特别的地方。
下面介绍重点代码
没有代码,表格就是一个没有灵魂的存在。
只有看到如下代码,所有的工作才能变得简单起来。
如你喜欢,继续往下看。
添加记录过程
inputValue(varr)添加记录过程,varr是记录数组PrivateSubinputValue(varr)添加记录DimirowAsInteger,icolAsIntegerirow=2icol=ActiveSheet.Range(AZ1).End(xlToLeft).ColumnActiveSheet.Rows(irow).InsertWithActiveSheet.Range(Airow).Resize(1,icol).Clear.Value=varr.RowHeight=28.ColumnWidth=10.Borders.LineStyle=1.Interior.Color=RGB(,,).HorizontalAlignment=xlCenter.VerticalAlignment=xlCenterWith.Font.Size=11.Name=仿体EndWithEndWithEndSub
添加记录按钮代码
PrivateSubCommandButton1_Click()DimvarrAsVariant,Narr,vStrAsString,nStrAsString,stAsStringst=-DimnAsIntegerDimTobjAsObjectForEachTobjInMe.ControlsIfTypeName(Tobj)=TextBoxThenvStr=vStrstTobj.ValuenStr=nStrstTobj.NameEndIfNextTobjvStr=VBA.Replace(vStr,st,,1,1)varr=VBA.Split(vStr,st)输入值数组nStr=VBA.Replace(nStr,st,,1,1)Narr=VBA.Split(nStr,st)字段数组DimsAsIntegers=checkVarr(varr,Narr)取数组下标Ifs=UBound(varr)Then判断是否是空值MsgBoxNarr(s)VBA.vbCrLf不能是空值!,vbInformation,提示ExitSubEndIf添加内容setActiveSheet(维修记录)inputValue(varr)MsgBox添加成功!,vbInformation,提示UnloadMeEndSub
提取文本框对象函数
getTextBox函数将表单内文本框对象赋值给数组,然后再利用数组对表格进行添加或修改操作。
PrivateFunctiongetTextBox()DimFTObjAsObject,BXobj()AsObject,nAsIntegerForEachFTObjInMe.ControlsIfTypeName(FTObj)=TextBoxThenReDimPreserveBXobj(n)SetBXobj(n)=FTObjn=n+1EndIfNextFTObjgetTextBox=BXobjEndFunction
其代码较多,而且不对Form表单代码进行查看也很难对这些代码进行理解,作为一种编程方法来学习还是很不错的。
NO.6
所以在对编程有所理解之后,一定要深入学习编程思想。
编码技术只是一种实现功能的初级阶段,只有深入理解了编程将通过哪些方法可以实现最优效果才是编程真正的目的。
只有积累编码的过程方法之后,才有可能理解并认识到对于一些功能实现有多种可以执行的途径。
所以说,活学活用是一种很好的习惯。
不应该在一种既定的套路里一直走,要有创新思维,要做别人没有做过的事情,要走别人没有走过路,那么就是莫大的进步。