vba开发的工具管理小软件(vba开发的工具管理小软件有哪些)-ag凯发k8国际

vba开发的工具管理小软件

科室内的工具比较多,比如专用笔记本电脑,兆欧表万用表,电缆反射仪,光纤衰减率测试仪等等。自己科室人员或其他科室人员经常借用,有时工作忙,一些人忘记了归还,用纸质的台账记录,不容易查询,也不容易管理。于是就简单用vba开发了一个简单的工具管理小软件,方便管理。

相关功能包括台账录入,工具借出,工具归还,台账查询,借用记录查询。另外就是购买了条形码打印机和扫码枪,方便信息录入。针对每个工具,进行编码,用条形码打印机打印出来帖到工具上,借用或归还时,用扫码枪扫描即可,方便快捷。

主界面见图1。

图1:工具管理主界面

一、功能说明

1. 工具录入,需要登录密码,登录之后,需要录入条形码,工具名称,型号,采购数量等信息;

2. 工具借出,如果已经拿到工具,可以扫码录入借出信息,也可以根据工具名称查询。

查询到有库存时,则弹出借用信息录入窗口, 如下图。

3. 工具归还,因为已经拿到工具,直接扫码归还即可。

4. 工具清单查询,可以显示库存数量和采购数量等信息。

5. 查看借用情况,具体如下表所示。

二、开发过程及代码

alt f11进入vba编译器界面。

依次插入如下窗体,并对窗体编写vba代码进行控制:

窗体userform8,如下图,用于管理员登录,录入工具信息。

点击确认按钮,进入窗体代码编译,输入如下代码。

private sub commandbutton1_click()‘输入密码,若密码正确,则显示窗体userform1。否则重新输入密码。

if userform8.textbox1.value = "123456" then

userform1.show

else

msgbox ("请输入正确密码!")

end if

end sub

private sub commandbutton2_click()‘点击取消按钮,则关闭userform8窗体。

unload userform8

end sub

窗体userform1用于录入工具信息,如下所示。点击确认按钮,进入窗体代码录入界面,输入如下代码。

private sub commandbutton1_click()’若二维码已经存在,则提示已经录入。否则则在sheet1表格中录入工具信息。

row = sheet1.range("a65536").end(xlup).row 1

find = false

for i = 2 to row

if sheet1.cells(i, 1) = userform1.textbox1.value then

msgbox ("这个二维码已经录入!")

find = true

exit for

end if

next i

if find = false then

sheet1.cells(row, 1) = userform1.textbox1.value

sheet1.cells(row, 2) = userform1.textbox2.value

sheet1.cells(row, 3) = userform1.textbox3.value

sheet1.cells(row, 4) = userform1.textbox3.value

sheet1.cells(row, 5) = userform1.textbox4.value

msgbox "已经录入"

end if

end sub

private sub commandbutton2_click()

unload userform1

end sub

窗体userform2,通过扫码查询,或者通过工具名称查询,若库存为0,则无法借出工具。

代码如下:

private sub commandbutton1_click()

item1 = userform2.textbox1.value

item2 = userform2.textbox2.value

if item2 = null or item2 = "" then

item2 = "工具管理系统"

end if

if item1 = null or item1 = "" then

item1 = "工具管理系统"

end if

item1 = replace(item1, " ", "")

row = sheet1.range("a65536").end(xlup).row

find = false

j = 1

for i = 2 to row

temp1 = sheet1.cells(i, 1)

temp2 = sheet1.cells(i, 2)

temp1 = replace(temp1, " ", "")

if strcomp(temp1, item1) = 0 and sheet1.cells(i, 4) > 0 then

find = true

j = i

msgbox "库存是:" & sheet1.cells(i, 4)

exit for

end if

if (instr(temp2, item2) > 0) and sheet1.cells(i, 4) > 0 then

find = true

j = i

msgbox "库存是:" & sheet1.cells(i, 4)

exit for

end if

next i

if find = false then

msgbox "库存是:0"

else’若库存不为零,则把工具信息显示到userform3中。

userform3.label2.caption = sheet1.cells(j, 2)

userform3.label5.caption = sheet1.cells(j, 3)

userform3.label6.caption = sheet1.cells(j, 4)

userform3.label11.caption = sheet1.cells(j, 1)

userform3.show

end if

end sub

private sub commandbutton2_click()

unload userform2

end sub

工具借出信息录入窗体userform3,sheet2表格用于存放工具借出和归还信息。

private sub commandbutton1_click()

row1 = sheet1.range("a65536").end(xlup).row 1

for i = 2 to row1

if sheet1.cells(i, 1) = userform3.label11.caption then

rest = cint(sheet1.cells(i, 4)) – cint(userform3.textbox2.value)

if rest < 0 then

msgbox ("借出数量太多,超出了库存")

exit sub

else

sheet1.cells(i, 4) = rest

end if

end if

next i

row = sheet2.range("a65536").end(xlup).row 1

sheet2.cells(row, 1) = userform3.label11.caption

sheet2.cells(row, 2) = userform3.label2.caption

sheet2.cells(row, 3) = userform3.textbox1.value

sheet2.cells(row, 4) = userform3.dtpicker1.value

sheet2.cells(row, 5) = userform3.dtpicker2.value

sheet2.cells(row, 6) = userform3.textbox2.value

sheet2.cells(row, 7) = "否"

if trim(userform3.textbox1.value) = "" then

msgbox ("请录入借用人")

exit sub

end if

msgbox ("借出成功,请及时归还")

unload userform3

end sub

private sub commandbutton2_click()

unload userform3

end sub

private sub userform_initialize()

userform3.dtpicker1.value = date

userform3.dtpicker2.value = date

end sub

工具归还窗体userform4用于归还工具信息录入,扫码录入并添加归还人。主要查找到对应的工具,并把该工具库存数量增加1。

private sub commandbutton1_click()

item = userform4.textbox1.value

backer = userform4.textbox2.value

if trim(item) <> "" and trim(backer) <> "" then

row1 = sheet3.range("a65536").end(xlup).row 1

sheet3.cells(row1, 1) = item

sheet3.cells(row1, 2) = backer

sheet3.cells(row1, 3) = userform4.dtpicker1.value

row = sheet1.range("a65536").end(xlup).row 1

success = false

for i = 2 to row

if str(sheet1.cells(i, 1)) = str(item) then

sheet1.cells(i, 4) = cint(sheet1.cells(i, 4)) 1

success = true

exit for

end if

next i

row = sheet2.range("a65536").end(xlup).row 1

success1 = false

for i = 2 to row

if str(sheet2.cells(i, 1)) = str(item) and sheet2.cells(i, 7) <> "是" then

sheet2.cells(i, 7) = "是"

success1 = true

exit for

end if

next i

if success = true and success1 = true then

msgbox ("归还成功")

thisworkbook.save

unload userform4

else

msgbox ("归还失败")

end if

else

msgbox ("请正确录入信息")

end if

end sub

private sub commandbutton2_click()

unload userform4

end sub

private sub userform_initialize()

userform4.dtpicker1.value = date

end sub

窗体userform5是ag凯发k8国际主页面,添加5个按钮,相关代码如下,用于打开对应的窗体

private sub commandbutton1_click()

userform8.show

end sub

private sub commandbutton2_click()

userform2.show

end sub

private sub commandbutton3_click()

userform4.show

end sub

private sub commandbutton4_click()

userform6.show

end sub

private sub commandbutton5_click()

userform7.show

end sub

private sub userform_terminate()

thisworkbook.close

end sub

窗体userform6用于显示工具清单及库存情况。用控件listview进行显示。

private sub userform_initialize()

call init_listview_head

call init_form

end sub

sub init_listview_head()

listview1.columnheaders.add 1, , sheet1.cells(1, 1), 60

listview1.columnheaders.add 2, , sheet1.cells(1, 2), 100

listview1.columnheaders.add 3, , sheet1.cells(1, 3), 65

listview1.columnheaders.add 4, , sheet1.cells(1, 4), 65

listview1.columnheaders.add 5, , sheet1.cells(1, 5), 100

listview1.fullrowselect = true

listview1.view = lvwreport

listview1.gridlines = true

end sub

sub init_form()

listview1.listitems.clear

row = sheet1.range("a65536").end(xlup).row 1

for i = 2 to row

with listview1.listitems.add

.text = sheet1.cells(i, 1)

.subitems(1) = sheet1.cells(i, 2)

.subitems(2) = sheet1.cells(i, 3)

.subitems(3) = sheet1.cells(i, 4)

.subitems(4) = sheet1.cells(i, 5)

end with

next i

end sub

窗体userform7用于显示借出和归还工具的清单,同样用控件listview进行显示。

private sub userform_initialize()

call init_listview_head

call init_form

end sub

sub init_listview_head()

listview1.columnheaders.add 1, , sheet2.cells(1, 1), 100

listview1.columnheaders.add 2, , sheet2.cells(1, 2), 100

listview1.columnheaders.add 3, , sheet2.cells(1, 3), 65

listview1.columnheaders.add 4, , sheet2.cells(1, 4), 65

listview1.columnheaders.add 5, , sheet2.cells(1, 5), 65

listview1.columnheaders.add 6, , sheet2.cells(1, 6), 65

listview1.columnheaders.add 7, , sheet2.cells(1, 7), 65

listview1.fullrowselect = true

listview1.view = lvwreport

listview1.gridlines = true

end sub

sub init_form()

listview1.listitems.clear

row = sheet2.range("a65536").end(xlup).row 1

for i = 2 to row

with listview1.listitems.add

.text = sheet2.cells(i, 1)

.subitems(1) = sheet2.cells(i, 2)

.subitems(2) = sheet2.cells(i, 3)

.subitems(3) = sheet2.cells(i, 4)

.subitems(4) = sheet2.cells(i, 5)

.subitems(5) = sheet2.cells(i, 6)

.subitems(6) = sheet2.cells(i, 7)

end with

next i

end sub

下面的一段代码,用于打开excel表格,直接进入主窗体界面。需要在thisworkbook中添加。

若对代码加以保护,则在菜单->工具->vba project属性,打开如下窗口。打开保护页,选择“查看时锁定工程”,并在输入密码。

目前开发的功能可以使用,因为开发的比较快(一个上午),仍有一些地方需要完善,比如可以用access管理数据,这样就可以搞成类似与cs结构的软件了。虽然vba已经比较落伍了,但有时还是比较方便的,尤其对于无法安装其他开发环境的电脑,方便快捷,非专业人员容易上手。

私信可交流excel,vba等知识,也可以获得本程序的原始代码。

ag凯发k8国际的版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023年4月29日 上午8:47
下一篇 2023年4月29日 上午8:57

相关推荐

  • 科研项目论证会的欢迎词 尊敬的各位专家、教授、学者、研究生和各位来宾,大家好! 今天,我们非常荣幸地邀请到了各位专家、教授、学者和研究生,共同参加本次科研项目论证会。本次论证会的主…

    科研百科 2024年4月7日
    40
  • 美容美发管理软件哪个好(美容美发管理软件)

    美容美发管理软件 随着现代美容美发行业的不断发展,美容美发管理软件已经成为行业中不可或缺的一部分。一款好的美容美发管理软件可以提高企业的运营效率,降低管理成本,提高客户满意度。本文…

    科研百科 2024年6月9日
    29
  • 考试季已经悄悄到来,随着10月11月大部分学校开始报名,艺术类的小伙伴就开始焦头烂额。 又到了一年一度写志望理由书的时候了! 今天就把这篇干的不能再干的干货分析给你! 如果你喜欢,…

    科研百科 2024年4月16日
    59
  • 银川科研项目咨询 银川科技创新公共服务平台 随着科技的不断发展,科研项目咨询和科技创新公共服务平台已经成为了科技创新的重要支撑。宁夏回族自治区银川科技创新公共服务平台作为宁夏科技创…

    科研百科 2024年3月29日
    36
  • 甲方项目管理难搞?275页甲方工程项目管理手册,包含施工全过程(甲方项目管理方案)

    干施工的都觉得干甲方的很轻松,且“大权在握”。事实上,完成一个工程,项目甲方的工作同样很辛苦。不仅找施工单位“跑断腿”,沟通“说破嘴”,还要统筹协调好整个工程项目的施工管理工作。 …

    科研百科 2023年8月4日
    142
  • 摘要 智慧系统子系统众多,除了日常通用的智能化系统,还需考虑医院的行业特性。考虑到医院专用的智能化系统如:手术示教系统、时钟系统、医护人员对接系统等。医院信息系统如:医院信息系统(…

    2022年10月23日
    253
  • 一表搞定项目管理计划、范围、进度、成本和人员绩效(项目管理过程中的进度目标,成本目标)

    一表搞定项目管理计划、范围、进度、成本和人员绩效【文末附可编辑表格下载】

    科研百科 2022年10月16日
    243
  • 据统计,全球有超过6000 项目管理系统,在如此多的项目管理系统中选择出适合自己的无异于大海捞针,所以这里我们根据国外知名软件点评网站g2.com,以及国内权威媒体发布的项目管理系…

    科研百科 2023年10月29日
    147
  • 来源:【嘉兴日报-嘉兴在线】 // 今天下午,桐乡市交通运输行业党建工作现场推进会在濮院镇召开,部署交通运输行业党建工作,以高质量党建推动交通运输行业高质量发展。 据了解,目前,桐…

    科研百科 2023年1月9日
    234
  • 近日肇庆信号水电段 各个施工现场一片忙碌 300多名铁路人 奋战在铁路广茂线和广珠线上 为确保广湛高铁的节点工程三水站和走马营站按期开通,肇庆信号水电段三水西车间的干部职工放弃休假…

    科研百科 2023年8月2日
    206
网站地图