论文部分内容阅读
【摘要】Excel在处理数据上灵活方便,在表格制作以及统计分析等方面功能也很强大。而其开发工具VBA又可以轻松实现Excel操作的自动化。根据我院库房耗材管理工作的现状,利用Excel VBA来处理耗材数据并自动生成相应报表,进而达到提高库房管理工作效率的目的。
【关键词】Excel VBA;耗材;库房管理
1 引言
在学院后勤管理工作中,耗材的出入库管理是一件日常性的工作,管理员需要及时了解掌握各种耗材的出库量、入库量和库存量,便于合理安排工作。由于耗材种类繁多,而传统管理是采用纸质版或大量电子版文件、文件夹数据的管理方式,不仅时间上工作效率低,而且造成大量资源浪费。随着学院规模不断壮大,耗材数据将持续增长,数据库将非常庞大,管理也将越来越困难。为此开发了基于Excel VBA技术实现出库、入库、库存盘点、库存统计、数据转结等方面功能的库房管理系统。
2 设计思路
开发本管理系统,有效控制耗材积压,方便库房管理员随时出库、入库、修改、查询等,逐步完善和规范数据。此系统主要有一个主模块,八个子模块以及各模块下面的若干低一级子模块组成。目前系统主要解决任务如下:
2.1 出、入库简单方便,且能及时打印出、入库单,减轻了原来手工填写出入库单的工作量。
2.2 便于及时统计出库和入库情况。
2.3 按类型统计汇总各类耗材数量。
2.4 随时可以查看库存情况,同时支持查看单件耗材库存数量。
2.5 通过数据库管理可以修改相应数据,且规范数据库数据类型,避免信息统计不准确。
2.6 通过上报数据功能实现数据人性化处理和即时共享。
2.7 学期数据转结主要是减少了数据冗余。
2.8 数据安全保密,每次登录系统需要进行身份验证。
库房管理系统数据关系图(如图1)
3 系统结构、功能设计(如图2)
4 报表生成
系统内各类查询功能均可以根据学院原先报表样式生成相应电子报表,方便打印存档。为解决各类报表数据类型不统一问题,则在后台设计了一个临时工作表,此工作表可以根据报表生成时的一些代码命令临时存放一些数据,关闭报表的同时清空当前数据。
5 数据统计分析、查询、转结等
5.1 在打开统计功能时,通过触发事件命令运行事先设置好的数据透视表功能,则可以实时按要求实现各类数据的统计汇总。
5.2 通过命令代码实现部分数据的查询统计功能(例:出库情况查询统计)
Sub 出库统计()
Sheets("缓存表").Cells.ClearContents
Sheets("缓存表").Range("A1:I65535").Value = Sheets("数据表").Range("A2:I65535").Value
Sheets("出入库统计").Range("A3:F65535").ClearContents
Dim arr,brr(),i%,j%
arr =[a1].CurrentRegion
ReDim brr(1 To UBound(arr),1 To 6)
For i = 1 To UBound(arr)
If arr(i,7)<> "" Then
j = j + 1
brr(j,1)= arr(i,1)
brr(j,2)= arr(i,2)
brr(j,3)= arr(i,3)
brr(j,4)= arr(i,6)
brr(j,5)= arr(i,7)
brr(j,6)= arr(i,8)
End If
Next i
Sheets("出入库统计").[a2].Resize(UBound(brr),6)= brr
End Sub
5.3 通过命令代码实现学期数据转结功能(例:学期数据转结)
Sub 学期数据结转()
ThisWorkbook.RefreshAll
Sheets("数据转结缓存").Cells.ClearContents
Sheets("数据转结缓存").Range("A1:F65531").Value = Sheets("库存盘点").Range("A5:F65535").Value
r = Range("A65536").End(xlUp).Row
For h = r To 1 Step -1
If Cells(h,5)= "" Or Cells(h,5)<= 0 Then Cells(h,2).EntireRow.Delete
Next
Sheets("数据转结缓存").Range("B1:B65535,C1:C65535,F1:F65535").ClearContents
ER =[A65536].End(xlUp).Row
Range("B1:B" & ER)= Range("A1:A" & ER).Value
Range("B1:B" & ER).TextToColumns DataType:=xlDelimited,ConsecutiveDelimiter:=True,OTHER:=True,OTHERCHAR:="☆"
Columns("E:E").Insert Shift:=xlToRight
Range("E1:E65535").NumberFormatLocal = "G/通用格式"
x = InputBox("输入:入库单位")
Y = InputBox("输入:入库日期")
Range("E1:E" & ER)= Y
Range("J1:J" & ER)= x
Sheets("数据表").Range("A3:I65535").ClearContents
Range("B1:J" & ER).Copy Sheets("数据表").Range("A3")
End Sub
6 结束语
库房管理系统极大程度上提高了耗材出库、入库、统计、查询等管理水平。整个系统在设计过程中采用模块化设计,充分考虑实际情况,经过长期使用和不断完善,体现了其实用性。该系统能为库房管理员提供实时信息和查询功能,将不断取代以往人工统计、管理方式,提高了工作效率,也对库房管理的科学化、正规化起到重要作用。
参考文献:
[1]王磊.基于VB的库房管理系统,仪器仪表标准化与计量,2007
[2]喻慧.基于WEB的企业库房管理系统开发和应用,可编程控制器与工厂自动化,2011
【关键词】Excel VBA;耗材;库房管理
1 引言
在学院后勤管理工作中,耗材的出入库管理是一件日常性的工作,管理员需要及时了解掌握各种耗材的出库量、入库量和库存量,便于合理安排工作。由于耗材种类繁多,而传统管理是采用纸质版或大量电子版文件、文件夹数据的管理方式,不仅时间上工作效率低,而且造成大量资源浪费。随着学院规模不断壮大,耗材数据将持续增长,数据库将非常庞大,管理也将越来越困难。为此开发了基于Excel VBA技术实现出库、入库、库存盘点、库存统计、数据转结等方面功能的库房管理系统。
2 设计思路
开发本管理系统,有效控制耗材积压,方便库房管理员随时出库、入库、修改、查询等,逐步完善和规范数据。此系统主要有一个主模块,八个子模块以及各模块下面的若干低一级子模块组成。目前系统主要解决任务如下:
2.1 出、入库简单方便,且能及时打印出、入库单,减轻了原来手工填写出入库单的工作量。
2.2 便于及时统计出库和入库情况。
2.3 按类型统计汇总各类耗材数量。
2.4 随时可以查看库存情况,同时支持查看单件耗材库存数量。
2.5 通过数据库管理可以修改相应数据,且规范数据库数据类型,避免信息统计不准确。
2.6 通过上报数据功能实现数据人性化处理和即时共享。
2.7 学期数据转结主要是减少了数据冗余。
2.8 数据安全保密,每次登录系统需要进行身份验证。
库房管理系统数据关系图(如图1)
3 系统结构、功能设计(如图2)
4 报表生成
系统内各类查询功能均可以根据学院原先报表样式生成相应电子报表,方便打印存档。为解决各类报表数据类型不统一问题,则在后台设计了一个临时工作表,此工作表可以根据报表生成时的一些代码命令临时存放一些数据,关闭报表的同时清空当前数据。
5 数据统计分析、查询、转结等
5.1 在打开统计功能时,通过触发事件命令运行事先设置好的数据透视表功能,则可以实时按要求实现各类数据的统计汇总。
5.2 通过命令代码实现部分数据的查询统计功能(例:出库情况查询统计)
Sub 出库统计()
Sheets("缓存表").Cells.ClearContents
Sheets("缓存表").Range("A1:I65535").Value = Sheets("数据表").Range("A2:I65535").Value
Sheets("出入库统计").Range("A3:F65535").ClearContents
Dim arr,brr(),i%,j%
arr =[a1].CurrentRegion
ReDim brr(1 To UBound(arr),1 To 6)
For i = 1 To UBound(arr)
If arr(i,7)<> "" Then
j = j + 1
brr(j,1)= arr(i,1)
brr(j,2)= arr(i,2)
brr(j,3)= arr(i,3)
brr(j,4)= arr(i,6)
brr(j,5)= arr(i,7)
brr(j,6)= arr(i,8)
End If
Next i
Sheets("出入库统计").[a2].Resize(UBound(brr),6)= brr
End Sub
5.3 通过命令代码实现学期数据转结功能(例:学期数据转结)
Sub 学期数据结转()
ThisWorkbook.RefreshAll
Sheets("数据转结缓存").Cells.ClearContents
Sheets("数据转结缓存").Range("A1:F65531").Value = Sheets("库存盘点").Range("A5:F65535").Value
r = Range("A65536").End(xlUp).Row
For h = r To 1 Step -1
If Cells(h,5)= "" Or Cells(h,5)<= 0 Then Cells(h,2).EntireRow.Delete
Next
Sheets("数据转结缓存").Range("B1:B65535,C1:C65535,F1:F65535").ClearContents
ER =[A65536].End(xlUp).Row
Range("B1:B" & ER)= Range("A1:A" & ER).Value
Range("B1:B" & ER).TextToColumns DataType:=xlDelimited,ConsecutiveDelimiter:=True,OTHER:=True,OTHERCHAR:="☆"
Columns("E:E").Insert Shift:=xlToRight
Range("E1:E65535").NumberFormatLocal = "G/通用格式"
x = InputBox("输入:入库单位")
Y = InputBox("输入:入库日期")
Range("E1:E" & ER)= Y
Range("J1:J" & ER)= x
Sheets("数据表").Range("A3:I65535").ClearContents
Range("B1:J" & ER).Copy Sheets("数据表").Range("A3")
End Sub
6 结束语
库房管理系统极大程度上提高了耗材出库、入库、统计、查询等管理水平。整个系统在设计过程中采用模块化设计,充分考虑实际情况,经过长期使用和不断完善,体现了其实用性。该系统能为库房管理员提供实时信息和查询功能,将不断取代以往人工统计、管理方式,提高了工作效率,也对库房管理的科学化、正规化起到重要作用。
参考文献:
[1]王磊.基于VB的库房管理系统,仪器仪表标准化与计量,2007
[2]喻慧.基于WEB的企业库房管理系统开发和应用,可编程控制器与工厂自动化,2011