VBA开发的工具管理小软件(vba开发的工具管理小软件有哪些)

VBA开发的工具管理小软件

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

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

主界面见图1。

VBA开发的工具管理小软件(vba开发的工具管理小软件有哪些)

图1:工具管理主界面

一、功能说明

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

VBA开发的工具管理小软件(vba开发的工具管理小软件有哪些)

VBA开发的工具管理小软件(vba开发的工具管理小软件有哪些)

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

VBA开发的工具管理小软件(vba开发的工具管理小软件有哪些)

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

VBA开发的工具管理小软件(vba开发的工具管理小软件有哪些)

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

VBA开发的工具管理小软件(vba开发的工具管理小软件有哪些)

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

VBA开发的工具管理小软件(vba开发的工具管理小软件有哪些)

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

VBA开发的工具管理小软件(vba开发的工具管理小软件有哪些)

二、开发过程及代码

ALT F11进入VBA编译器界面。

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

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

VBA开发的工具管理小软件(vba开发的工具管理小软件有哪些)

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

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用于录入工具信息,如下所示。点击确认按钮,进入窗体代码录入界面,输入如下代码。

VBA开发的工具管理小软件(vba开发的工具管理小软件有哪些)

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,则无法借出工具。

代码如下:

VBA开发的工具管理小软件(vba开发的工具管理小软件有哪些)

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表格用于存放工具借出和归还信息。

VBA开发的工具管理小软件(vba开发的工具管理小软件有哪些)

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。

VBA开发的工具管理小软件(vba开发的工具管理小软件有哪些)

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是主页面,添加5个按钮,相关代码如下,用于打开对应的窗体

VBA开发的工具管理小软件(vba开发的工具管理小软件有哪些)

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进行显示。

VBA开发的工具管理小软件(vba开发的工具管理小软件有哪些)

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进行显示。

VBA开发的工具管理小软件(vba开发的工具管理小软件有哪些)

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开发的工具管理小软件(vba开发的工具管理小软件有哪些)

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

VBA开发的工具管理小软件(vba开发的工具管理小软件有哪些)

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

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

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

(0)
上一篇 2024年5月19日 下午9:23
下一篇 2024年5月19日 下午9:35

相关推荐

  • 申报推荐词

    申报推荐词 申报推荐词是一个非常重要的场合,可以展示一个人的才能和能力,也可以向外界展示一个团队或组织的实力。在这个场合,人们可以通过推荐词来展示他们的杰出成就,并为他们表示敬意。…

    科研百科 2024年10月18日
    0
  • 公司合同管理细则

    公司合同管理细则 随着公司业务的不断发展,合同管理成为了公司管理中至关重要的一部分。为了规范公司的合同管理,确保合同的合法性、合规性和的有效性,公司制定了以下合同管理细则。 一、合…

    科研百科 2024年5月24日
    68
  • 四川自然资源科研项目计划下达

    四川自然资源科研项目计划下达 近年来,随着全球气候变化的加剧和自然资源的短缺,自然资源保护与开发已成为全球关注的焦点。作为四川省的一个重要地区,四川自然资源资源丰富,但同时也面临着…

    科研百科 2024年4月9日
    59
  • 人力资源管理系统的内容包含有哪些?(人力资源管理系统的内容包含有哪些方面)

    近年来,我国正处于快速发展的风口。无论是从企业外部发展还是企业内部管理,企业都在追求信息化、科学化、流程化管理。 人力资源管理系统的内容 传统的人力资源管理体系包括组织、招聘、培训…

    科研百科 2022年12月13日
    241
  • 甘肃省强化试点带动推进畜牧产业转型升级

      2014年,我省利用中央财政现代农业生产发展资金3000万元,选择庆阳、临夏、张掖3市州开展以牛羊为主的现代畜牧业全产业链试点。力争全省畜牧业增加值占农业增加值比重达到30%以…

    科研百科 2022年6月3日
    273
  • 创新党建模式 激活高质量发展新动能(创新党建模式引领发展)

    今年以来,察布查尔县农信社党委在新疆维吾尔自治区农村信用社联合社党委的坚强领导下,树立“围绕中心抓党建、抓好党建促发展”理念,不断创新和丰富党建与业务融合发展模式,激活转型发展的“…

    科研百科 2023年7月10日
    173
  • 科研项目中分工怎么写

    在科研项目中,分工是非常重要的一个环节。分工明确可以让科学家们更好地协作,提高项目的效率和质量。那么,如何写好科研项目中的分工呢? 首先,在分工之前,应该确定每个科学家们负责的任务…

    科研百科 2024年10月9日
    17
  • 成绩管理系统项目需求

    成绩管理系统项目需求 随着教育的不断发展,学校和学生之间的信息交流变得越来越重要。为了便于学校管理和记录学生的成绩信息,我们开发了一个成绩管理系统。本系统旨在提供一个用户友好界面,…

    科研百科 2024年12月24日
    0
  • 部门经费

    部门经费:促进企业发展的开源节流 随着企业的发展,部门经费的重要性日益凸显。如何在有限的预算内,有效地促进企业的发展,已成为政府和企业必须面对的问题。本文将介绍如何合理规划部门经费…

    科研百科 2024年5月31日
    70
  • “流动不流学”,这个学堂让党员找到了“家”(流动不流失,离乡不离党)

    学党史 悟思想 办实事 开新局 嘉定自开展党史学习教育以来,全区党员干部学党史、悟思想、办实事、开新局,开展了专题授课、诵读党课、直播党课、情景党课等形式多样、内涵丰富的活动。 南…

    科研百科 2023年11月10日
    186