分享

VBA从零学习之15——初识对话框

 L罗乐 2017-10-11



插入对话框:

在VBA编辑器中,VBAProject上点右键->插入->用户窗体,即可得到一个空的窗体。

然后我们可以得到如下图的一个画面:

其中:

①,工具箱,是VBA提供的标准控件,包括:

  • 标签Label

  • 文本框TextBox

  • 下拉框ComboBox

  • 列表框ListBox

  • 复选框CheckBox

  • 单选按钮OptionButton

  • 开关按钮ToggleButton

  • 框架Frame

  • 按钮CommandButton

  • 页签控件TabStrip和MultiPage(二者的区别如下图)

  • 滚动条控件ScrollBar

  • 滚动控件SpinButton

  • 图片控件Image

    (加粗的为常用控件)

②,该下拉框中列出了当前工程下的所有控件

③,每个空间都有很多属性,可以选择以字母顺序显示其属性、或以分类的方式显示其属性

④,当前控件的名字,也是我们在VBA中调用控件时的对象名。可以手动更改,也可以用汉字


使用控件

  在工具箱中,我们依次添加标签、文本框、按钮到窗体中,并更改他们的Caption属性(标题),可以得到如下图一样的界面:


现在我们希望:

在点击“确定”按钮的时候,检查输入内容,如果为空则提示错误

如果不为空则通过MsgBox显示输入的内容


该怎么做呢?


我们双击确定按钮,或者右键点“确定”按钮->查看代码(View Code),然后进入以下界面:

怎么样,这个界面还熟悉吗?和我们实现工作表事件、工作簿事件的界面很相似吧?


代码怎么写呢?很简单。

Private Sub CommandButton1_Click()

    If TextBox1 = '' Then MsgBox '请输入内容' Else MsgBox TextBox1

End Sub

其中,TextBox1等同于TextBox1.Value,是文本框控件的输入内容。


F5,看看执行的效果吧!

嗯,好像挺不错的样子。


对话框看起来像是能帮我们解决很多的问题,它有很丰富的可用性

可是如果我们每次都去这样按F5执行,不大方便呢,有什么办法解决吗?

有!


首先,我们在Excel工具栏->开发工具->插入->窗体控件中,选择第一个按钮,然后点击工作表上任意区域,出现如下对话框:

接下来,我们点New新建一个过程,然后在过程中编写代码:

Sub Button1_Click()

    UserForm1.Show

End Sub

现在,我们在工作表中点刚创建的按钮,就可以调用这个对话框了。


说明:

我们之前的系列中编写的其他过程代码,也都可以通过这种按钮的方式执行,只需要在按钮上点右键->指定宏,即可。


隐藏Excel程序

我们之前提到过Application有Visible属性,现在我们来使用一下。

更改工作表中按钮所对应的宏代码为:

Sub Button1_Click()

    Application.Visible = False

    UserForm1.Show

End Sub


但是在窗体关闭的时候,我们希望再显示Application,怎么做呢?

双击我们的窗体,或者在窗体上点右键->查看代码,在接下来的界面中,在右侧事件列表中选择Terminate,然后编写代码如下:


然后,我们关闭VBA编辑器,执行一下看看效果吧。

  • 当我们在工作表中点击按钮的时候,整个工作簿都不见了,只剩下我们创建的窗口。

  • 当我们关闭窗口的时候,工作簿又回来了。

课后总结

通过本次分享,你应该具备以下技能:

1、能够创建一个自定义的窗体

2、了解有哪些可以添加的标准控件

3、掌握文本框控件、按钮控件的使用方法

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多