VBA 语言 开发咖啡馆饮品销售与会员管理系统

VBA阿木 发布于 2025-06-03 14 次阅读


咖啡馆饮品销售【1】与会员管理【2】系统:VBA【3】 技术实现

随着社会经济的发展,咖啡文化在我国逐渐兴起,咖啡馆成为了人们休闲、社交的重要场所。为了提高咖啡馆的经营效率【4】,实现饮品销售与会员管理的数字化、智能化,本文将围绕VBA(Visual Basic for Applications)语言,探讨如何开发一款咖啡馆饮品销售与会员管理系统。

一、系统概述

咖啡馆饮品销售与会员管理系统主要包括以下功能模块:

1. 饮品销售管理【5】:实现饮品的录入、查询、修改、删除等功能。
2. 会员管理:实现会员的注册、查询、修改、删除等功能。
3. 销售统计【6】:统计销售数据,包括销售额、销售量等。
4. 会员积分管理【7】:记录会员消费积分,实现积分兑换【10】等功能。

二、VBA 技术简介

VBA 是一种基于 Microsoft Office 的编程语言,广泛应用于 Excel、Word、PowerPoint 等办公软件中。VBA 具有易学易用、功能强大等特点,可以方便地实现各种自动化操作【11】

三、系统设计

1. 饮品销售管理模块

3.1 数据库设计【12】

在 Excel 中创建一个名为“饮品销售”的工作表【13】,包含以下字段:

- 饮品编号:唯一标识每款饮品。
- 饮品名称:饮品名称。
- 饮品价格:饮品价格。
- 饮品库存:饮品库存数量。

3.2 功能实现

(1)饮品录入

在“饮品销售”工作表中,使用 VBA 编写一个函数,用于录入新饮品信息。代码如下:

vba
Sub 录入饮品()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("饮品销售")

Dim lastRow As Long
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row

Dim newID As String
newID = "DRINK" & Format(Now, "yyyyMMddHHmmss")

ws.Cells(lastRow + 1, 1).Value = newID
ws.Cells(lastRow + 1, 2).Value = InputBox("请输入饮品名称:", "饮品录入")
ws.Cells(lastRow + 1, 3).Value = InputBox("请输入饮品价格:", "饮品录入")
ws.Cells(lastRow + 1, 4).Value = InputBox("请输入饮品库存:", "饮品录入")
End Sub

(2)饮品查询

使用 VBA 编写一个函数,根据饮品名称查询相关信息。代码如下:

vba
Sub 查询饮品()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("饮品销售")

Dim searchName As String
searchName = InputBox("请输入饮品名称:", "饮品查询")

Dim found As Range
Set found = ws.Range("A2:A" & ws.Cells(ws.Rows.Count, "A").End(xlUp).Row)

If Not IsError(Application.Match(searchName, found, 0)) Then
MsgBox "饮品名称:" & ws.Cells(found.Row, 2).Value & vbCrLf & _
"饮品价格:" & ws.Cells(found.Row, 3).Value & vbCrLf & _
"饮品库存:" & ws.Cells(found.Row, 4).Value
Else
MsgBox "未找到该饮品!"
End If
End Sub

2. 会员管理模块

2.1 数据库设计

在 Excel 中创建一个名为“会员信息”的工作表,包含以下字段:

- 会员编号:唯一标识每位会员。
- 会员姓名:会员姓名。
- 会员电话:会员联系电话。
- 会员积分【8】:会员消费积分。

2.2 功能实现

(1)会员注册

使用 VBA 编写一个函数,用于注册新会员。代码如下:

vba
Sub 注册会员()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("会员信息")

Dim lastRow As Long
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row

Dim newID As String
newID = "MEMBER" & Format(Now, "yyyyMMddHHmmss")

ws.Cells(lastRow + 1, 1).Value = newID
ws.Cells(lastRow + 1, 2).Value = InputBox("请输入会员姓名:", "会员注册")
ws.Cells(lastRow + 1, 3).Value = InputBox("请输入会员电话:", "会员注册")
ws.Cells(lastRow + 1, 4).Value = 0
End Sub

(2)会员查询

使用 VBA 编写一个函数,根据会员姓名查询相关信息。代码如下:

vba
Sub 查询会员()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("会员信息")

Dim searchName As String
searchName = InputBox("请输入会员姓名:", "会员查询")

Dim found As Range
Set found = ws.Range("A2:A" & ws.Cells(ws.Rows.Count, "A").End(xlUp).Row)

If Not IsError(Application.Match(searchName, found, 0)) Then
MsgBox "会员姓名:" & ws.Cells(found.Row, 2).Value & vbCrLf & _
"会员电话:" & ws.Cells(found.Row, 3).Value & vbCrLf & _
"会员积分:" & ws.Cells(found.Row, 4).Value
Else
MsgBox "未找到该会员!"
End If
End Sub

3. 销售统计模块

3.1 数据库设计

在 Excel 中创建一个名为“销售统计”的工作表,包含以下字段:

- 销售日期:销售日期。
- 饮品编号:销售饮品的编号。
- 销售数量:销售数量。
- 销售金额:销售金额。

3.2 功能实现

(1)销售录入【14】

使用 VBA 编写一个函数,用于录入销售信息。代码如下:

vba
Sub 录入销售()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("销售统计")

Dim lastRow As Long
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row

Dim saleDate As String
saleDate = Format(Now, "yyyy-mm-dd")

ws.Cells(lastRow + 1, 1).Value = saleDate
ws.Cells(lastRow + 1, 2).Value = InputBox("请输入饮品编号:", "销售录入")
ws.Cells(lastRow + 1, 3).Value = InputBox("请输入销售数量:", "销售录入")
ws.Cells(lastRow + 1, 4).Value = InputBox("请输入销售金额:", "销售录入")
End Sub

(2)销售统计

使用 VBA 编写一个函数,统计销售数据。代码如下:

vba
Sub 统计销售()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("销售统计")

Dim totalSales As Double
totalSales = 0

Dim i As Long
For i = 2 To ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
totalSales = totalSales + ws.Cells(i, 4).Value
Next i

MsgBox "总销售额:" & totalSales
End Sub

4. 会员积分【9】管理模块

4.1 数据库设计

在 Excel 中创建一个名为“会员积分”的工作表,包含以下字段:

- 会员编号:会员编号。
- 消费金额【15】:消费金额。
- 积分:消费金额对应的积分。

4.2 功能实现

(1)积分录入

使用 VBA 编写一个函数,用于录入会员积分。代码如下:

vba
Sub 录入积分()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("会员积分")

Dim lastRow As Long
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row

Dim memberID As String
memberID = InputBox("请输入会员编号:", "积分录入")

Dim consumeAmount As Double
consumeAmount = InputBox("请输入消费金额:", "积分录入")

Dim points As Double
points = consumeAmount 10 ' 假设每消费 1 元,获得 10 积分

ws.Cells(lastRow + 1, 1).Value = memberID
ws.Cells(lastRow + 1, 2).Value = consumeAmount
ws.Cells(lastRow + 1, 3).Value = points
End Sub

(2)积分兑换

使用 VBA 编写一个函数,用于兑换会员积分。代码如下:

vba
Sub 兑换积分()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("会员积分")

Dim memberID As String
memberID = InputBox("请输入会员编号:", "积分兑换")

Dim points As Double
points = InputBox("请输入兑换积分:", "积分兑换")

Dim found As Range
Set found = ws.Range("A2:A" & ws.Cells(ws.Rows.Count, "A").End(xlUp).Row)

If Not IsError(Application.Match(memberID, found, 0)) Then
Dim currentPoints As Double
currentPoints = ws.Cells(found.Row, 3).Value

If currentPoints >= points Then
ws.Cells(found.Row, 3).Value = currentPoints - points
MsgBox "兑换成功!"
Else
MsgBox "积分不足!"
End If
Else
MsgBox "未找到该会员!"
End If
End Sub

四、总结

本文以 VBA 语言为基础,详细介绍了如何开发一款咖啡馆饮品销售与会员管理系统。通过实现饮品销售、会员管理、销售统计和会员积分管理等功能,有助于提高咖啡馆的经营效率,提升顾客满意度【16】。在实际应用中,可根据需求对系统进行扩展和优化【17】,以满足更多功能需求。