打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
VBA应用实例:开发餐饮点菜单系统

V

B

A

使用VBA开发

餐饮点菜单系统

基本要求

1、选择桌位号;

2、查看菜单;

3、选菜;删菜;

4、提交、生成菜单

比如,请先欣赏下面这张菜单

点击【点菜】后,出现下面这张丑陋的弹窗

可以看到,功能有:【选择桌位】【查看菜单】【加入菜单】【从菜单删除】【已选菜单】【提交菜单】

然后噼里啪啦如下一顿操作:

提交菜单后,我们看到了4号桌的菜单

功能简陋无比,下面将贴出代码,先贴图,这样看起来比较清晰

下面是窗体中的代码,图片看上去比较模糊(后面会贴出文字版),主要是看整体的样式

窗体中的代码如下:

Private Sub UserForm_Initialize()'菜单.RowSource = '菜单!C2:E29''引用表单内单元格的格式
'caidan = Sheet2.Range('C2:D29')'For cai_i = LBound(caidan, 1) To UBound(caidan, 1)'菜单.AddItem'菜单.List(菜单.ListCount - 1, 0) = caidan(cai_i, 1)'菜单.List(菜单.ListCount - 1, 1) = caidan(cai_i, 2)'Next
菜单.ColumnCount = 3 '列表框显示的列数已选菜单.ColumnCount = 4
选择桌位号.RowSource = '菜单!F2:F51''或:选择桌位号.RowSource = '菜单!' & Range('F2:F51').AddressEnd Sub
Private Sub 查看菜单_Click()caidan = Sheet2.Range('C2:D29')For cai_i = LBound(caidan, 1) To UBound(caidan, 1)菜单.AddItem菜单.List(菜单.ListCount - 1, 0) = caidan(cai_i, 1)菜单.List(菜单.ListCount - 1, 1) = caidan(cai_i, 2)菜单.List(菜单.ListCount - 1, 2) = ''NextEnd Sub
Private Sub 从菜单删除_Click()For n = 0 To 已选菜单.ListCount - 1If 已选菜单.Selected(n) = True Then
'遍历菜单,把即将从已选菜单中删除的菜的'√'去掉For n_caidan = 0 To 菜单.ListCount - 1If 菜单.List(n_caidan, 0) = 已选菜单.List(n, 0) Then菜单.List(n_caidan, 2) = ''Exit ForEnd IfNext
'从已选菜单中删除已选菜单.RemoveItem (n)'ListBox.RemoveItem 方法,从列表中删除一行'格式:ListBox.RemoveItem(pvargIndex),如果方法成功,则返回true
Exit ForEnd IfNextEnd Sub
Private Sub 加入菜单_Click()
'遍历菜单,如果被选中,则For i = 0 To 菜单.ListCount - 1If 菜单.Selected(i) = True Then'ListBox.Selected 属性,返回一个布尔值,指示listbox中项目的选择状态If 菜单.List(i, 2) <> '√' Then
已选菜单.AddItem'先添加一个空行'一维数组或者单个元素,通过additem添加'ListBox.AddItem方法,向列表中添加项目
已选菜单.List(已选菜单.ListCount - 1, 0) = 菜单.List(i, 0)已选菜单.List(已选菜单.ListCount - 1, 1) = 菜单.List(i, 1) '单价已选菜单.List(已选菜单.ListCount - 1, 2) = '1'已选菜单.List(已选菜单.ListCount - 1, 3) = 菜单.List(i, 1) '金额'二维数组,通过list添加
菜单.List(i, 2) = '√''选过了的菜品,在原菜单中打钩
ElseIf 菜单.List(i, 2) = '√' Then
For i_already = 0 To 已选菜单.ListCount - 1If 菜单.List(i) = 已选菜单.List(i_already) Then已选菜单.List(i_already, 2) = 已选菜单.List(i_already, 2) + 1已选菜单.List(i_already, 3) = 已选菜单.List(i_already, 1) * 已选菜单.List(i_already, 2)Exit ForEnd If
Next
End If
End IfNext
End Sub
Private Sub 提交菜单_Click()
Set new_sheet = ThisWorkbook.Worksheets.Add'Set new_sheet = Worksheets.Addnew_sheet.Name = 选择桌位号.Value & '号桌'
new_sheet.Range('A1') = '菜名'new_sheet.Range('B1') = '单价'new_sheet.Range('C1') = '数量'new_sheet.Range('D1') = '金额'
menu_num = 0menu_mon = 0
'遍历已选菜单,在新表单中记录菜名、单价和数量For m = 0 To 已选菜单.ListCount - 1new_sheet.Range('A' & m + 2) = 已选菜单.List(m, 0) '菜名new_sheet.Range('B' & m + 2) = 已选菜单.List(m, 1) '单价new_sheet.Range('C' & m + 2) = 已选菜单.List(m, 2) '数量menu_num = menu_num + 已选菜单.List(m, 2)
new_sheet.Range('D' & m + 2) = 已选菜单.List(m, 3) '金额menu_mon = menu_mon + 已选菜单.List(m, 3)
Next
huizong_row = new_sheet.UsedRange.Rows.Countnew_sheet.Range('A' & huizong_row + 1) = '汇总'new_sheet.Range('C' & huizong_row + 1) = menu_numnew_sheet.Range('D' & huizong_row + 1) = menu_monEnd Sub

功能相当简陋

同志仍需努力

好书推荐

最近中午在看的是《商君书》,篇幅很短,总共200页,也就100张。算了下,如果每天看5张,20天(一个月,22个工作日)看完。

我这么“精打细算”似乎显得读书是件苦差事。

目前为止,感觉商鞅的主要观点是:重农业、重军事,轻商、轻技艺。

商鞅有几个观点挺有意思。

比如,要压制巧舌如簧、空谈的人,认为这些人靠着一张嘴混饭吃,既然凭着一张嘴就能吃饭,谁还去种田?商鞅称这些人为“虱“。这是在说那些“纵横家”吗?

再如,如果很多事在小群体里(乡亲族里)就能解决,那么一定会王(第四声)天下;如果需要到官吏们那儿解决,那么国家一定会强盛;但如果需要劳烦君王来过问,那么国家就会削弱。

商鞅通篇在说农业生产的重要性,他理想中的老百姓是:无事就是种田机器,有战事就能上场杀敌。

在与秦孝公商议变法之事时,他的同僚们认为:如果此事没有带来几倍的好处,那么最好继续遵循旧制;并且,百官和老百姓都熟悉旧制,大家都轻松。这跟现代职场绝大部分人的想法很相似,做项目之前先有预期,如果预期没有数倍的效果,那么项目就最好不要做。大到公司,小到个人,往往是在以往的基础上修修补补,很少会推翻重来,一是难以预测后果,二是守旧易、创新难,人总是有惰性。

商鞅认为,儒家那一套“仁爱”的做法不适用于现今,他主张“重轻”,用重刑惩罚轻罪,这样人就不会犯轻罪,更不可能发展成重罪。如果“重重”“轻轻”,那么“轻”则不止。

一百个人干活,一个闲蛆,那么能“王天下”;十个人干活,一个闲蛆,那么尚且能够强盛;一半的人在干活,一半的人是闲蛆,那么就离完蛋不远了。联想现在很多公司,大概是一个人在干活,十个人是闲蛆。

先写到这儿,下次看到精彩之处再记录下来。

愚者之笑,智者哀焉

狂夫之乐,贤者丧焉

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
列表框的常用属性和方法
vb列表框ListBox的详细使用方法
计算机技术基础(第七章 常用内部控件 )
VBA窗体之组合框的基本用法 | VBA实例教程
VFB代码示例:基础方法
Excel制表技巧(30)加密隐藏
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服