VBA 语言 固定资产管理系统基础

VBAamuwap 发布于 3 天前 3 次阅读


固定资产管理系统【1】基础VBA【2】代码实现

固定资产是企业运营中的重要组成部分,对其进行有效的管理对于企业的财务健康和运营效率至关重要。VBA(Visual Basic for Applications)是Microsoft Office系列软件中的一种编程语言,可以用于自动化Office应用程序中的任务。本文将围绕固定资产管理系统的基础,通过VBA代码实现一些基本功能,帮助读者了解如何使用VBA来构建一个简单的固定资产管理系统。

系统需求分析

在开始编写代码之前,我们需要明确固定资产管理系统的基础需求:

1. 数据存储【3】:能够存储固定资产的基本信息,如名称、型号、购买日期【4】、价值等。
2. 数据查询【5】:能够根据不同的条件查询固定资产信息。
3. 数据更新【6】:能够对固定资产信息进行修改。
4. 数据删除【7】:能够删除不再使用的固定资产信息。
5. 数据统计【8】:能够对固定资产进行统计,如按类别、使用年限等。

系统设计

数据库设计【9】

为了简化,我们假设使用Excel【10】作为数据库。创建一个名为“固定资产管理.xlsx”的Excel文件,包含以下工作表【11】

- 固定资产信息表:存储固定资产的基本信息。
- 查询结果表:用于显示查询结果。

VBA模块设计【12】

我们将设计以下VBA模块:

- 数据存储模块:用于添加和更新固定资产信息。
- 数据查询模块:用于根据条件查询固定资产信息。
- 数据删除模块:用于删除固定资产信息。
- 数据统计模块:用于统计固定资产信息。

VBA代码实现

数据存储模块

vba
Sub 添加固定资产()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("固定资产信息表")

' 获取用户输入
Dim 资产名称 As String
Dim 资产型号 As String
Dim 购买日期 As Date
Dim 价值 As Double
资产名称 = InputBox("请输入资产名称:")
资产型号 = InputBox("请输入资产型号:")
购买日期 = InputBox("请输入购买日期(格式:YYYY-MM-DD):")
价值 = CDbl(InputBox("请输入资产价值:"))

' 插入新行并填充数据
Dim 行号 As Long
行号 = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row + 1
ws.Cells(行号, 1).Value = 资产名称
ws.Cells(行号, 2).Value = 资产型号
ws.Cells(行号, 3).Value = 购买日期
ws.Cells(行号, 4).Value = 价值
End Sub

数据查询模块

vba
Sub 查询固定资产()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("查询结果表")

' 清空查询结果表
ws.Cells.ClearContents

' 获取用户输入的查询条件
Dim 查询条件 As String
查询条件 = InputBox("请输入查询条件(如:'资产名称=电脑'):")

' 查询并填充数据
Dim 资产名称 As String
资产名称 = Split(查询条件, "=")(1)
Dim 行号 As Long
行号 = 1
For Each r In ws.Range("A2:A" & ws.Cells(ws.Rows.Count, "A").End(xlUp).Row)
If r.Value = 资产名称 Then
ws.Cells(行号 + 1, 1).Value = r.Offset(0, -1).Value
ws.Cells(行号 + 1, 2).Value = r.Offset(0, -2).Value
ws.Cells(行号 + 1, 3).Value = r.Offset(0, -3).Value
ws.Cells(行号 + 1, 4).Value = r.Offset(0, -4).Value
行号 = 行号 + 1
End If
Next r
End Sub

数据删除模块

vba
Sub 删除固定资产()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("固定资产信息表")

' 获取用户输入的资产名称
Dim 资产名称 As String
资产名称 = InputBox("请输入要删除的资产名称:")

' 删除行
Dim 行号 As Long
行号 = ws.Range("A2:A" & ws.Cells(ws.Rows.Count, "A").End(xlUp).Row).Find(What:=资产名称, LookIn:=xlValues, LookAt:=xlWhole).Row
If 行号 > 0 Then
ws.Rows(行号).Delete
Else
MsgBox "未找到该资产!"
End If
End Sub

数据统计模块

vba
Sub 统计固定资产()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("查询结果表")

' 清空查询结果表
ws.Cells.ClearContents

' 获取用户输入的统计条件
Dim 统计条件 As String
统计条件 = InputBox("请输入统计条件(如:'资产类别=电脑'):")

' 统计并填充数据
Dim 资产类别 As String
资产类别 = Split(统计条件, "=")(1)
Dim 行号 As Long
行号 = 1
For Each r In ws.Range("A2:A" & ws.Cells(ws.Rows.Count, "A").End(xlUp).Row)
If r.Offset(0, -1).Value = 资产类别 Then
ws.Cells(行号 + 1, 1).Value = r.Offset(0, -1).Value
ws.Cells(行号 + 1, 2).Value = r.Offset(0, -2).Value
ws.Cells(行号 + 1, 3).Value = r.Offset(0, -3).Value
ws.Cells(行号 + 1, 4).Value = r.Offset(0, -4).Value
行号 = 行号 + 1
End If
Next r
End Sub

总结

通过以上VBA代码,我们实现了一个简单的固定资产管理系统的基础功能。这些代码可以作为进一步开发更复杂系统的起点。在实际应用中,可能需要考虑更多的功能和优化,例如数据验证、错误处理、用户界面设计等。希望本文能帮助读者了解如何使用VBA来构建自己的固定资产管理系统。