精华内容
下载资源
问答
  • 前景提要之前两天我们分享了如何通过VBA来实现工作薄的数据保护的功能,当然都是批量性的操作,在一定程度上方便了大家的操作,同时满足了部分场景下需要保护自己数据的需要,but,有时候我们的保护级别可能需要更加...

    前景提要

    之前两天我们分享了如何通过VBA来实现工作薄的数据保护的功能,当然都是批量性的操作,在一定程度上方便了大家的操作,同时满足了部分场景下需要保护自己数据的需要,but,有时候我们的保护级别可能需要更加的高,比方说有粉丝说他自己电脑的数据压根就不想让人看,更不要说复制粘贴了,但是职场工作,难免会有其他同事看你的电脑或者多个班次共用电脑的情况,这样某些关键数据的保护就尤为重要了,之前分享的数据保护功能就有点low了,那么今天我们升级下数据保护的功能,实现打开关键数据工作薄,会弹出登陆窗体,并且要输入正确的密码才可以打开的。

    场景模拟

    假设 当前桌面有一个工作薄,里面的数据对我们来说是比较的关键的,我们今天要保护的就是这个工作薄的数据。我们希望实现的效果这样的

    028e5d5d02a2284d6f0dbb01cacc244b.png

    打开工作薄的时候,数据隐藏,看不到,需要输入正确的密码

    一打开工作薄是这样的一个登陆窗体,必须输入正确的用户名和密码之后,才可以查看打开工作薄,否则直接关闭该工作薄,来上代码

    方法分析

    今天的这个方法需要用到窗体的相关功能。但是窗体的相关信息我们还没有学习。这里我们就暂时简单的写一下代码,后续我们再详细讲解如何使用窗体

    代码区

    1.我们先插入一个窗体模块,然后绘制相应的窗体界面

    c9a636e8e2263be7d7b66510385452f6.png

    简易的登录窗体的制作

    仅仅是需要向三种窗体控件就可以了

    2.双击确定按钮,进入代码页面,输入如下代码

    Private Sub CommandButton1_Click()Dim k&Me.HideIf TextBox1.Value = "admin" And TextBox2.Value = "123" Then MsgBox "欢迎你登陆!" Application.Visible = True Else MsgBox "您的输入不合法请重新输入!" Application.Visible = True ActiveWorkbook.CloseEnd IfEnd SubPrivate Sub CommandButton2_Click()Unload MeEnd Sub

    3.双击thisworkbook,进入新的代码区

    47b9e6c27f68085bbc0fc2b9bd144728.png

    输入新的代码如下

    Private Sub Workbook_Open()Application.Visible = FalseUserForm1.ShowEnd Sub

    相关的操作已经结束了,来我们看看对应的效果

    如果输入的账号密码错误,会弹窗提示,单击确定之后直接关闭工作薄,无法打开相应的数据

    4908a1aa3783e0d9454320abc504209d.png

    如果你输入正确的用户名和密码,会弹出欢迎窗口,并且进入工作薄内部,数据都可以进行查看,操作了。

    9b9914a5298ce2107912dbeb84163033.png

    代码分析

    今天的步骤比较的复杂,有三个步骤缺一不可;

    第一步是简单的绘制窗体

    第二步是操作对应的按钮的功能,大家可以先不了解步骤的原理,直接套用就好,我们后面在具体说窗体的各种功能和操作

    内部的代码很简单,大家都应该能够看懂,就是简单的判断,用户名和密码同时正确才可以进入内部查看数据

    第三步也是很重要的一部,一定要在thisworkbook这个代码区输入第二段代码,否则这个登陆窗体是无效的,大家一定要记得。

    =======================================================

    OK。今天就分享到这里了,当然登陆窗体的功能还有很多,比方说小编现在自己做的这个窗体功能是这样的

    d1795769397f434cd0d665c1ca97a8e8.png

    比较丑,纯粹是为了实现功能而做的,勿喷

    如果大家想要接触的话,下方留言吧,我看看大家的需求是否足够多,多的话我再分享,因为窗体的功能还没有分享,现在说的话,大家可能还不太理解。

    好了,明晚19:00,准时再见。

    ========历史相关文章==============================

    Excel VBA工作薄 5.10只合并含有关键字的工作薄 数据汇总更精确

    Excel VBA工作薄 5.11批量保护工作薄 我的数据不是你能改乱的

    Excel VBA工作薄 5.12批量解除工作薄保护 绝不为难自己

    展开全文
  • 学习目的(背景)主要是工作上有一些需求,想通过excel加数据库做一个通过一些基本窗体操作即可达到可视化管理的工具。学习资料正在学王佩丰老师的VBA课程(目前进度第七章)学习进度今天刚学完王老师的第七章《事件与...

    学习目的(背景)

    主要是工作上有一些需求,想通过excel加数据库做一个通过一些基本窗体操作即可达到可视化管理的工具。

    学习资料

    • 正在学王佩丰老师的VBA课程(目前进度第七章)

    学习进度

    今天刚学完王老师的第七章《事件与典型应用案例

    1085734712c9936074c87edd288ea910.png
    • with ...endwith 类似于缩写。
    • 单击sheet表将通用改为worksheet selectionchange。表示的是当前工作表选区变化。
    • worksheet change 。当前工作表任何变化
    • worksheet avitvate 。当前活动工作表。例如下方代码表示的是刷新当前激活的工作表
    Private Sub Worksheet_Activate()ActiveWorkbook.RefreshAllEnd Sub
    • workbook savecopyas 相当于另存一个副本。例如下面就是在保存之前另存为一个当前时间命名的副本文件
    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)ThisWorkbook.SaveCopyAs "d:data" & Format(Now(), "yyyymmddhhmmss") & ".xls"End Sub

    学习成果

    作业要求如下

    2876dc08b3a50ea1adace96cbe80d9c5.png

    作业要求

    作业代码展示

    • 我编的
    Private Sub Workbook_BeforeClose(Cancel As Boolean)    Sheets("张三1").Visible = False    Sheets("张三2").Visible = False    Sheets("张三3").Visible = False    Sheets("李四1").Visible = False    Sheets("李四2").Visible = False    Sheets("李四3").Visible = FalseEnd SubPrivate Sub Workbook_Open()Dim i As Integeri = InputBox("请输入密码登录") If i = "123" Then    Sheets("张三1").Visible = True    Sheets("张三2").Visible = True    Sheets("张三3").Visible = True    Sheets("李四1").Visible = False    Sheets("李四2").Visible = False    Sheets("李四3").Visible = False    ElseIf i = "456" Then    Sheets("李四1").Visible = True    Sheets("李四2").Visible = True    Sheets("李四3").Visible = True    Sheets("张三1").Visible = False    Sheets("张三2").Visible = False    Sheets("张三3").Visible = FalseElse    MsgBox "表格即将关闭"    ThisWorkbook.CloseEnd IfEnd Sub
    • 王老师编的与我的区别在于将Sheets("李四1").Visible = True写成Sheet4.Visible = xlSheetVisible,关闭工作簿前之前隐藏6张表我写了6行,王老师只写了一行就全部表达sht.Visible = xlSheetVeryHidden。

    经过在excel home查询到如下图结论

    728cce38b6a58f55e0d42e192d9fe9e3.png

    而在vba属性窗口中

    b12a093563487e8eab25badead9e3ab4.png

    因此我个人理解为我的true可以解释成-1,即是xlSheetVisible,false解释成0,即是sheethidden,2没法表示,所以在关闭工作簿之前我是每一个表都隐藏一次,王老师则直接是xlsheetveryhidden,一句话表达了全部工作表隐藏。

    展开全文
  • 我的目标:让中国的大学生走出校门的那一刻就已经具备这些office技能,让职场人士能高效...2、如果用户名或者密码连续输入错误超过三次,则弹出警告框提示即将退出程序,关闭警告框后即关闭程序。3、双击工作簿后,...

    我的目标:让中国的大学生走出校门的那一刻就已经具备这些office技能,让职场人士能高效使用office为其服务。支持我,也为自己加油!

    先来看下效果:1、双击工作簿后,弹出登录窗口,如果用户名或者密码有一个未输入,直接点击确定,会弹出一个警告框,显示用户名或者密码不能为空!

    ad9be9b8890983be19882dec79a4e031.gif

    2、如果用户名或者密码连续输入错误超过三次,则弹出警告框提示即将退出程序,关闭警告框后即关闭程序。

    e41011a3fc5e91a6f341f16980af458f.gif

    3、双击工作簿后,弹出登录窗口,点击登录窗口右上方的关闭命令不允许退出登录窗口。

    f1d0a6f917b6fb2e40c9db087f30d56f.gif

    4、输入正确的用户名和密码,点击确定后进入工作簿并激活Sheet1。

    2985eda20e0e2f690aca0dac9e59c561.gif

    本案例代码如下:确定按钮的Click事件代码如下:
    Private Sub CommandButton1_Click()Static i%If TextBox1.Value = "" Then MsgBox "用户名不能为空!", vbInformation, "警告": Exit SubIf TextBox2.Value = "" Then MsgBox "密码不能为空!", vbInformation, "警告": Exit SubIf TextBox1 = "wuxupeng" And TextBox2 = 123456 Or TextBox1 = "mihong" _    And TextBox2 = 123456 Or TextBox1 = "admin" _    And TextBox2 = 123456 Then    Unload Me    Application.Visible = True    Sheet1.Activate    Application.EnableCancelKey = xlInterruptElse    MsgBox "密码或者用户名错误,请重新输入!", vbInformation, "警告"    i = i + 1    If i >= 3 Then        MsgBox "输入错误超过三次,程序即将退出!"        Unload Me        Application.Visible = True        Application.Quit    End IfEnd IfEnd Sub
    本段代码主要用于验证用户名和密码,当用户输入用户名和密码错误三次以上时退出程序。窗体的QueryClose事件代码:
    Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)    If CloseMode <> 1 Then Cancel = TrueEnd Sub
    本段代码用于禁用登录窗口的关闭按钮,防止用户手动关闭后登录窗口后进入工作簿。工作簿Open事件代码:
    Private Sub Workbook_Open()    Application.EnableCancelKey = xlDisabled    Application.Visible = False    UserForm1.ShowEnd Sub
    本段代码是打开工作簿时隐藏工作簿窗口并显示登录窗口。一共三段代码就可以实现案例中的效果了。本节知识点:1、静态变量的使用2、如何禁用事件3、Application的EnableCancelKey属性

    公众号后台资源库可获取更多资源:

    d1f0bb5ba704628a1dd40e82fde86b6f.png

    本节的分享就到这里,祝大家每天都有进步。

    1

    在线课堂在逐渐完善中,欢迎您的光临!

    1d9c1e9ecff481c2077920357edc543f.png

    f399e7a78777c132e6154e36daa58acc.gif

    点击下方“”即可进入云课堂学习!

    展开全文
  • 本部分将对Excel VBA编程的用户窗体控件进行讲解,说明了用户窗体的作用,怎样在Excel中打开用户窗体窗体的属性介绍等。通过此部分的学习,可以对VBA编程的用户窗体控件有了初步的了解,从而为以后熟练的使用窗体...

    db24d4877225ce5db6df50118d7ef9a8.png

    本部分将对Excel VBA编程的用户窗体控件进行讲解,说明了用户窗体的作用,怎样在Excel中打开用户窗体,窗体的属性介绍等。通过此部分的学习,可以对VBA编程的用户窗体控件有了初步的了解,从而为以后熟练的使用窗体控件打下基础。

    Excel VBA的用户窗体控件可以干什么?

    Excel VBA的用户窗体可以更好的实现用户与Excel文件的交互,用户窗体可以显示固定信息来提示用户,如标签等;也可以与用户交互,如输入文本框,下拉列表框选择等,也可以调用计算机的相关程序,如调用打印,保存等操作。

    用户窗体看上去就像一个自定义对话框,你可以在上面添加各种各样的控件,给这些控件设置属性以及编写对窗体反应的VBA过程和控制事件。窗体是单独的对象,窗体可以在不同的应用程序之间分享使用,例如,你可以在Word或者任何其它使用VB编辑器的应用程序里面,重新使用Excel里设计的窗体。

    怎样打开Excel VBA的用户窗体控件?

    1. 点击Excel的 "DEVELOPER" 菜单下的"Visual Basic" 按键,打开VBA编译界面。

    74de510f91c9e0dca44a62c094c5ba36.png

    2.在VBA编程界面,选择一个对象右键点击,添加用户窗体控件。

    5975a06081602610b8a115542fcb1e01.png

    3.你可以通过"tool box"的控件来设计你新建的窗体。

    3adcc6b0da9501a2f2bca192b961df9e.png

    4.可以通过窗体的属性界面更改窗体的属性值。

    3b65cdcabad1d5fae03dce6130825069.png

    5.设计好窗体控件的用户界面后,双击窗体控件,进入VBA代码编译界面,变可以对窗口控件及窗口控件中添加的控件进行VBA编程了。

    56194f01ffa3fbd0c2b39b9fed352f34.png

    Excel VBA窗体控件的常用属性

    1.显示窗体,在程序中使用代码显示一个窗体,通常直接调用Show方法;

    13aef9f5e1aca4134112939cdb503f39.png

    2.关闭窗体,关闭已显示的窗体 关闭窗体最简单的方法就是单机窗体右上角的【关闭】按钮。关闭窗体的代码如下:Unload InputForm 或者:Unload Me “Unload 窗体名称”可以关闭任意的窗体。但是使用“Unload Me”只能关闭代码所在的窗体。

    3.隐藏窗体,如果只是想隐藏而不是关闭窗体,可以使用窗体对象的Hide方法。

    语法如下:

    窗体名称.Hide ,或者: Me.Hide

    关闭和隐藏窗体的区别: 用Unload InputForm语句关闭窗体不但会将窗体从屏幕上删除,还会将其从内存中卸载。 当窗体从内存中卸载后,窗体及窗体中的控件都将还原成最初的值,代码将不能操作或访问窗体及其中的控件,也不能再访问保存在窗体中的变量。 如果使用Hide方法隐藏窗体,只会将窗体从屏幕上删除,但窗体依然被加载在内存中。此时,依然可以访问窗体中控件的属性。

    4.改变窗体的显示位置,默认情况下,显示一个窗体后,Excel会将其显示在Excel窗口的中心位置,但也可以通过设置属性来定义其显示位置。 例如: (备注:要自定义窗体显示在屏幕上的位置,应先将窗体的StartUpPosition属性设为0,这样才能设置)。

    770e986ac8344671948d47d0bdf37b99.png
    展开全文
  • Excel VBA(08)窗体和控件

    千次阅读 2020-04-29 16:36:58
    3、关闭窗体 代码关闭是 unload testform方法 4、显示设置 窗体标题:caption 背景色:backcolor 背景图片:picture,代码里面可以使用loadpicture()方法进行加载 属性窗口里面可以查看 5、位置大小 to...
  • VBA研究】如何防止用户关闭窗体

    千次阅读 2016-01-18 16:45:19
    VBA开发中经常用到窗体,这样界面可以做的漂亮一点,我们甚至可以关闭Excel应用窗口,只保留我们自己的窗口,只需要启动时增加关闭应用显示语句。虽然Excel应用窗口不显示,但不影响工作表的使用,依然可以在工作表...
  • 学习资源:《Excel VBA从入门到进阶》第53集 by兰色幻想一、窗体的使用窗体的插入和启用 ①插入菜单--用户窗体 ②工程窗口中右键--... 窗体的关闭 ①手工点关闭按钮 ②用代码执行关闭 例:单击窗体时关闭窗体。Priv...
  • 学习Excel技术,关注微信公众号:excelperfect本文将给出一段VBA代码,实现在加载用户窗体时逐步显现以及在关闭用户窗体时逐渐淡出的效果,如下图1所示。图1第1步:创建示例用户窗体如下图2所示,我们简单地创建了一...
  • Excel VBA实例

    万次阅读 2010-06-22 10:08:00
    一个简单的excel vba编程实例 调出excel2007窗体工具 删除清除某列内容 选中某列 复制某列 从单元格中取值 生成随机数 关闭excel 关闭工作簿
  • 我们在使用VBA窗体时,不知你是否注意到:VBA中的窗体标题栏上只有关闭按纽,没有最大最小化按钮的。如下图。那么是否可以利用代码让窗口上也出现类似于EXCEL和WORD窗口的最大和最小化按钮呢?这时就要利用API函数...
  • 学习资源:《Excel VBA从入门到进阶》第53集 by兰色幻想一、窗体的使用窗体的插入和启用 ①插入菜单--用户窗体 ②工程窗口中右键--... 窗体的关闭 ①手工点关闭按钮 ②用代码执行关闭 例:单击窗体时关闭窗体。Priv...
  • 学习Excel技术,关注微信公众号:excelperfect引子:本文改编著自Microsoft很久以前的一篇技术文章,虽然年代已久,但完全不过时。文章以完整的示例详细介绍了用户窗体的基本概念及常用技术,能够帮助你快速掌握用户...
  • Excel_VBA教程

    2014-09-22 11:36:34
    38.给窗体STUDENTS AND EXAMS自定义窗体编写VBA过程 218 39.使用自定义窗体STUDENTS AND EXAMS 223 40.接下来…… 225 第十一章 自定义集合和类模块 225 1.使用集合 226 2.声明自定义集合 227 3.给自定义集合添加...
  • Excel VBA 基础教程

    2019-01-01 18:51:06
    .................................................................................................................1 1.1 VBA是什么...........................................................................
  • ExcelVBA程序设计.doc

    2011-04-05 21:32:51
    38.给窗体STUDENTS AND EXAMS自定义窗体编写VBA过程 218 39.使用自定义窗体STUDENTS AND EXAMS 223 40.接下来…… 225 第十一章 自定义集合和类模块 225 1.使用集合 226 2.声明自定义集合 227 3.给自定义集合添加...
  • 实践内容是:打开Excel时,隐藏工作表并弹出欢迎窗体,5秒后关闭窗体打开工作表。该项目涉及窗体(UserForm)、工作表(工作表),在各部分写了相关代码,但是因为执行的过程中各对象会有关闭情况,不确定对象关闭...
  • EXCEL编程VBA高级教程

    2015-04-16 11:40:55
    1.2EXCEL环境中基于应用程序自动化的优点................................................................................1 1.3录制简单的宏....................................................................
  • Excel VBA程序设计.doc

    2009-07-06 22:16:12
    Excel VBA程序设计.doc 目 录 一、VBA语言基础 1 第一节 标识符 1 第二节 运算符 1 第三节 数据类型 1 第四节 变量与常量 1 第五节 数组 2 第六节 注释和赋值语句 2 第七节 书写规范 2 第八节 判断语句 2 第九节 ...
  • 使用Microsoft Excel汇集资料任务繁重,收集到的Excel工作表资料名称也各不相同,如果不将其整理会对今后的工作造成不必要的麻烦。对Excel工作表名称单个进行修改的话,任务量异常繁重。如果想改变这个“悲惨”的...
  • Excel_VBA程序设计.pdf

    热门讨论 2009-08-31 23:05:20
    非常详尽的Excel_VBA程序设计,好不容易才整理搜索到的。 一、VBA语言基础 1 第一节 标识符 1 第二节 运算符 1 第三节 数据类型 1 第四节 变量与常量 1 第五节 数组 2 第六节 注释和赋值语句 2 第七节 书写规范 2 第...
  • 01064获取Excel窗体工具栏信息 01065获取Excel外部数据工具栏信息 01066获取Excel公式审核工具栏信息 01067获取Excel控件工具箱工具栏信息 01068获取Excel绘图工具栏信息 01069获取Excel命令按钮的外观图像和FaceID...
  • 中文版Excel.2007高级VBA编程宝典 1/2

    热门讨论 2012-04-06 16:00:16
    本书将介绍如何定制Excel 用户窗体、开发新实用程序、用VBA 处理图表及数据透视表,以及创建事件处理应用程序。还将介绍如何使用VBA 子过程和函数过程、与其他应用程序轻松交互、构建用户友好的工具栏、菜单和帮助...
  • 中文版Excel.2007高级VBA编程宝典 2/2

    热门讨论 2012-04-06 16:41:38
    本书将介绍如何定制Excel 用户窗体、开发新实用程序、用VBA 处理图表及数据透视表,以及创建事件处理应用程序。还将介绍如何使用VBA 子过程和函数过程、与其他应用程序轻松交互、构建用户友好的工具栏、菜单和帮助...
  • 我们在使用VBA窗体时,不知你是否注意到:VBA中的窗体标题栏上只有关闭按纽,没有最大最小化按钮的。如下图。那么是否可以利用代码让窗口上也出现类似于EXCEL和WORD窗口的最大和最小化按钮呢?这时就要利用API函数...
  • Excel VBA程序设计》 CHM电子书目录 一、VBA语言基础 1 第一节 标识符 1 第二节 运算符 1 第三节 数据类型 1 第四节 变量与常量 1 第五节 数组 2 第六节 注释和赋值语句 2 第七节 书写规范 2 第八节 判断语句 2...
  • 在《EXCEL VBA经典代码大全》里看到如下代码,代码段1,可以让提示窗体自动延时关闭。觉得非常有意思,就把类似代码化用到ACCESS的一个定时刷屏的窗体内,如下代码段2,结果弹出的提示窗体不能延时关闭,必须点击...
  • 1、将需要拆分的EXCEL文件放在一个单独的文件夹,打开这个EXCEL文件,并关闭其他打开的EXCEL文件; 2、excel表格保留一行标题行,并把第一列数据填写为拆分项(文件拆分时将按第一列的内容进行归类合并为一个文件)...
  • 先来看下效果:通过上图,大家很容易看出二者之间的区别,有些情况下,我们需要这种窗体,比如网页中弹出的广告,没有关闭按钮,用户无法关闭。那怎么创建一个无标题栏的窗体呢?Excel本身并没有提供一种直接的方法...
  • 如果你觉得窗体有可能遮住结果,窗体可移动,可关闭,也可随时按CTRL+Q(W)打开。另总表中还提供了按班级排序、填入总分、平均分、计算班级排名、年级排名、分数超限检查等多种自动化功能。 四、温馨提示 1、本成绩...
  • VBA常用技巧

    2014-12-21 16:39:28
    技巧137 禁用窗体标题栏的关闭按钮 12 技巧138 屏蔽窗体标题栏的关闭按钮 12 技巧139 无标题栏和边框的窗体 12 技巧140 制作年月选择窗体 12 技巧141 自定义窗体中的鼠标指针类型 12 技巧142 调整窗体的显示位置 12 ...

空空如也

空空如也

1 2 3 4 5
收藏数 81
精华内容 32
关键字:

vbaexcel关闭窗体