当前位置:首页 > 技术分析 > 正文内容

Excel VBA 主界面/一步一步带你设计【收费管理系统】02

ruisui884个月前 (01-05)技术分析35

本文于2023年5月14日首发于本人同名公众号,更多文章案例请关注微信公众号:Excel活学活用

☆本期内容概要☆

  • 用户窗体设置:主界面、主页设计

上期我们分享了EXCEL读取ACCESS数据库表,实现系统登录的功能【Excel VBA 访问带密码保护的Access数据库/用户窗体设置/EXCEL用户+密码登录界面(Access版)】,接下来我们将继续设计【收费管理系统】,感兴趣的朋友可以跟着一起做,有什么建议也欢迎提出来,谢谢!

今天的任务是设置【主界面】或者叫【主页】,用来放置命令按钮,作为进入各种功能模块的入口。

主界面设置比较简单,我们打开【收费管理系统】EXCEL文档,输入用户名密码,进入VBA编辑器,设有密码的必须输入密码才能进入,这里密码是0。

下面我们就一起来做:

1、在Sheets("Main")中,设置单元格A1行高为250,列宽为80,增加命令按钮“CmdShowMain”,显示主菜单的意思,Caption改为“收费管理系统”;“CmdExit”,Caption改为“退出系统"。调整命令按钮大小和位置,把它们都放到A1单元格里,其他单元格统统隐藏:

2、在EXCEL文件中插入表页,命名为“Settings”,用来存放部分登录信息:

其中,B列的字段名称不能随便改动,在代码里有引用,如果确定需要修改的话,要同步修改。C列的值是根据实际登录的数据文件、用户信息写入,供后期调用。

3、打开VBE,插入用户窗体Usf_Main,调整大小,Caption改为“主菜单”:

4、在Usf_Main上添加控件,设置字体,调整位置:

(1)标签,LbTitle,Caption修改为“主菜单”;

(2)命令按钮,CmdUsers,Caption修改为“用户管理”;

看上去空荡荡的,由于时间关系,暂时先这样,待后面慢慢来完善。

5、修改代码:

(1)Sheets(“Main”)页面命令按钮:

Private Sub CmdShowMain_Click()
    Usf_Main.Show   '显示主菜单
End Sub
Private Sub CmdExit_Click()
    ThisWorkbook.Save
    ThisWorkbook.Close   '保存并退出系统
End Sub

(2)Private Sub Workbook_BeforeClose,删除以下代码:

    'Sheets("Main").Range("A1:B2").ClearContents

(3)Private Sub Workbook_Open(),增加把数据库完整文件路径写入Sheets(“Settings”)的代码:

Private Sub Workbook_Open()
    Dim iRow
    dataFile = ThisWorkbook.Path & "\收费管理系统数据库.accdb"
    Sheets("Settings").Activate
    With ActiveSheet
        iRow = .UsedRange.Rows.Count
        .Cells(Application.WorksheetFunction.Match("dataFile", .Range(Cells(1, 2), Cells(iRow, 2)), 0), 3) = dataFile
    End With
    UsF_Login.Show
End Sub

代码解析:

line 4~8:这里通过工作表“MATCH”来定位“dataFile”在B列的第几行,然后把变量dataFile的值写入对应的第3列单元格。

(4)Usf_Login窗体的“登录”按钮:删除把用户信息写入Sheets(“Main”)的代码,改为写入Sheets(“Settings”)的对应单元格

  ''把登录用户信息记到Sheets("Settings")
        'Sheets("Main").Range("A1") = "用户ID:"
        'Sheets("Main").Range("A2") = "用户姓名:"
        'Sheets("Main").Range("B1") = currUserID
        'Sheets("Main").Range("B2") = currUserName
        Sheets("Settings").Activate
        With ActiveSheet
            iRow = .UsedRange.Rows.Count
            .Cells(Application.WorksheetFunction.Match("currUserID", .Range(Cells(1, 2), Cells(iRow, 2)), 0), 3) = currUserID
            .Cells(Application.WorksheetFunction.Match("currUserName", .Range(Cells(1, 2), Cells(iRow, 2)), 0), 3) = currUserName
        End With

代码解析:

line 2~5:这几行注释掉,也可以删除,这里是为了演示之用。

line 6~11:把用户信息写入Sheets("Settings”),用了工作表函数MATCH,前面解释过。

7、我们来看一下今天的成果:

今天的内容就这么多,后面会继续,敬请关注!还请大家多多点赞、留言、分享,谢谢大家,我们下期再会。


☆猜你喜欢☆

Excel VBA 这样酷炫的日期控件,你不想要吗?

Excel 公式函数/数据透视表/固定资产折旧计提表!

Excel VBA 自定义函数/数组字段定位/数组字段排序

Excel 功能/公式函数/VBA/多种姿势处理重复值

Excel VBA 最简单的收发存登记系统

Excel 公式函数/查找函数之LOOKUP

Excel VBA 文件批量改名

Excel 公式函数/数据验证/动态下拉列表

Excel VBA 输入逐步提示/TextBox+ListBox

Excel 基础功能【数据验证】,你会怎么用?


本文于2023年5月14日首发于本人同名公众号,更多文章案例请关注微信公众号:Excel活学活用

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/22.html

分享给朋友:

“Excel VBA 主界面/一步一步带你设计【收费管理系统】02” 的相关文章

Deepin Linux正式引入AI功能,成为第一个正式加入AI潮流的Linux发行版

Deepin Linux是一个基于Debian的Linux发行版,以美观和实用性而闻名。现在为了达到人工智能发展趋势的前沿,Deepin Linux的开发人员宣布,他们已经开始将AI功能集成到桌面环境及其随附的应用程序中。AI集成包含了两种风格——AI驱动的图像编辑插件和AI编码助手。其中图像编辑插...

vue3中父子组件之间传值的详解

首先我们回顾一下vue2中父子组件是怎么传值的,然后对比vue3进行详解。一、vue2中父子组件传值<!-- 父组件 --> <template> <div> // name:父组件把值传给子组件test-child // childFn:...

带你五步学会Vue SSR

作者:liuxuan 前端名狮转发链接:https://mp.weixin.qq.com/s/6K6GUHcLwLG4mzfaYtVMBQ前言SSR大家肯定都不陌生,通过服务端渲染,可以优化SEO抓取,提升首页加载速度等,我在学习SSR的时候,看过很多文章,有些对我有很大的启发作用,有些就只是照搬官...

react hooks自定义组件居然能这样做

前言  这里写一下如何封装可复用组件。首先技术栈 react hooks + props-type + jsx封装纯函数组件。类组件和typeScript在这不做讨论,大家别白跑一趟。接下来会说一下封装可复用组件的思路,比如一个新手应该怎么去封装,都需要有哪些东西。  然后说一些复杂组件需要的功能,...

面试被逼疯:聊聊Python Import System?

面试官一个小时逼疯面试者:聊聊Python Import System?对于每一位Python开发者来说,import这个关键字是再熟悉不过了,无论是我们引用官方库还是三方库,都可以通过import xxx的形式来导入。可能很多人认为这只是Python的一个最基础的常识之一,似乎没有可以扩展的点了,...

15款测试html5响应式的在线工具

手机、平板灯手持设备的增多,网站要顺应变化,就必须要做响应式开发,响应式网站最大的特点在于可以在不同设备下呈现不同的布局,是基于html5+css3技术,目前越来越多的网站开始采用了响应式设计,而下面15款工具可以方便测试你的html5响应式效果。Responsinatorhttp://www.re...