excel20XX如何开启用户窗体.docx
《excel20XX如何开启用户窗体.docx》由会员分享,可在线阅读,更多相关《excel20XX如何开启用户窗体.docx(10页珍藏版)》请在冰豆网上搜索。
excel20XX如何开启用户窗体
excel20XX如何开启用户窗体
篇一:
excel20XX调出窗体工具栏
在以前的版本中“打开菜单—>视图—>工具栏—>窗体,调出窗体工具栏。
”excel20XX调出窗体工具栏
文件---"选项"里勾选"开发工具,开发工具中就有窗体了.
篇二:
excelVbA编程认识用户窗体
excelVbA编程认识用户窗体
excel作为一个直接面向用户的软件,必须具有强大的用户交互功能。
其实,在VbA中,已经有了一些可以和用户直接交互的函数,如Inputbox、msgbox等。
但是它们的功能都相当有限,且界面不友好,在具体操作时还会受到诸多限制。
例如,在开发复杂的程序时,有可能需要用户一次输入很多数据,在使用Inputbox函数时只能提供一个数据的输入,此时,就需要使用Vbe提供的用户窗体。
简单来讲,用户窗体就是应用程序的自定义对话框,使用用户窗体有如下好外:
?
设计者可以按照自已的需要,采用最合适的控件、布局方式和输入方式设计出对话框。
这种设计模式给设计者提供了自由发挥空间,使得VbA程序的实现更加人性化,使用更加方便。
?
遵循windows的界面标准,学习其成功界面设计的经验,可以向用户提供一个专业的外观,接受来自用户的输入和选择,可以使用户与程序的交流更简单、更直面、更准确。
在这里需要强调的是,excel中用户窗体的设计有两种完全不同的方法。
一种方法是在基于工作表对象设计的用户界面,另一种方法是在Vbe环境是实现的。
第一种方法在上一章已以介绍过了,而本章则是介绍基于Vbe环境来创建用户界面。
自定义的用户窗体,可以是一个窗体(表单),也可以是一个对话框。
因为他们都是用户基于工作表数据应用而设计的,窗体中并没有限制用户在使用过程中必须要做哪些操作,所以用户窗体可以跟据这一特点,创建任意不同的用户窗体,以满足不同的设计需求。
在excel中,用户自定义窗体一般用于显示和输入数据,使用用户窗体来显示所输入的数据,这样,就可以将用户与电子表格数据本身隔离,以保护数据的安全。
而又由于数据是基于用户窗体上的控件进行输入的,这些设置好的控件在使用时会大大的加快数据的输入、减少输入性的错误。
Vbe中窗体具有设计模式和代码模式之分,在工作资源管理器窗口选择窗体,可以在其工具栏或者通过右键切换窗体的设计模式和代码模式。
设计模式下可以通过鼠标拖拽以及属性调整来设计用户窗体的外观以及样式。
在代码模式下,可以与使用一般的模块一样,定义变量、过程,并且可以响应窗体和控件的事件。
篇三:
excelVbA用户窗体编程基础
excelVbA用户窗体编程基础
20XX-03-3022:
52:
23|分类:
阅读67评论0字号:
大中小订阅
excelVbA用户窗体编程基本
概述
当应用msgbox函数和Inputbox函数不能满足与用户交互的需求时,您能使用用户窗体来自定义对话框。
您能使用用户窗体来显示所输进的数据,您甚至能使用用户窗体创建一个完全的用户界面,而不会让用户
接触到电子表格本身。
您在windows对话框中所看到的大多数控件都能在用户窗体中实现――命令按钮,选项按钮,复选框,文
本框,组合框――加上一些其它不常用的控件像图像,日历,等等。
本文先容了用户窗体的基础概念,并先容了使用用户窗体的常用技巧。
其中,也讲授了一些最通用的思路。
在文章中列举了一个包括所有进程的完全的示例文件,以及实现这些过程的代码,让您能在实践中看到所
有工作的根本原理和办法。
本文包含以下内容:
●根本的用户窗体操作
●用户窗体和控件的属性
●一个用户窗体的性命周期
●用户窗体和控件的事件
●问题1:
如何在用户窗体间传递数据?
●问题2:
如何找到我的窗体中的某类控件?
●问题3:
如何获取数据到列表框中?
●问题4:
如作甚循环创建进度条?
●一个完全的用户窗体综合示例
基础的用户窗体操作
?
创立一个窗体。
打开Vbe编纂器(选择菜单“工具――宏――Visualbasic编纂器”或按Alt+F11组合键),选择菜单“插进――用户窗体”,或者在工程窗口中单击右键,从弹出的快捷菜单中选择“插入――用户窗
体”,即可创建一个窗体。
?
添加控件。
当你创建了一个窗体后,将会显示一个名为“控件工具箱”的浮动工具箱(如果没有该工具箱的话,您可以从视图菜单中找到它),其中显示了最广泛的控件类型。
单击您想要的控件,拖动它到您的用户
窗体中。
?
更多的控件。
有一些更多的可用的控件,您可以在控件工具箱中单击右键,从中选择“附加控件”,您能
添加日历、电子表格、图形,等等。
?
添加事件程序。
事件容许当用户对窗体和控件进行操作时作出相应的反映,事件程序要放置在用户窗体模块中,您能通过双击窗体或控件来打开代码模块窗口,或者在窗体或控件中单击右键,从快捷菜单中选择“查看代码”来打开代码模块窗口,或者在工程窗口中的用户窗体图标上单击右键后选择“查看代码”来打开
代码模块窗口。
然后,天平,在代码模块窗口中,对窗体或控件添加相应的事件程序代码。
?
显示窗体。
打开窗体模块,按F5键可以运行宏程序,或者单击工具栏中的运行按钮,将显示用户窗体。
注意,在窗体模块中按F5键并不会运行光标所在的子进程,而是运行用户窗体自身。
?
调试。
和在宏程序中一样,按F8键容许您逐语句运行代码。
用户窗体和控件的属性
窗体和控件都有属性(如尺寸、地位,等等),您能在设置窗体时改变这些属性,并且它们中的大多数属性也能够在运行时通过代码来转变。
在设置窗体时您所选择的值是缺省值,在运行时您所作的变更仅当窗体
被装载时有效。
两个最主要的属性是name属性和Value属性:
?
name属性可用于指定某个控件。
您能通过控件的索引号指定控件,但这样会难于懂得和调试,体视显微
镜,因此,使用名称是更可取的。
?
Value属性是您所使用的实际输入或者输出的数据。
在不同的控件中,该属性值稍有差别。
例如,选项按钮控件和复选框控件的Value属性值为True/False,而文本框控件的Value值则是该文本框所包括的文本。
Value属性既可用于输入,也可用于输出。
例如:
?
**********************
txtFirstname.Text=Range("A1").Value
Range("b1").Value=optVegetarian.Value
?
**********************
一个好习惯
给您的窗体和控件起一个具有描写性且分类明白的名字。
您将会发明在每类控件名前加一个前缀是很有辅助的,例如,frm代表窗体,opt代表选项按钮,等等。
这样将会使您的代码更易浏览,并且也会许可您使
用一些技巧,否则代码将会很庞杂。
指定控件和窗体,以及me要害字
当在窗体代码模块中指定窗体中的控件时,您能通过名字指定他们,例如txtFirstname.Value=”John”。
对
于在其它窗体中的控件,窗体名应放在控件名之前,例如,frmemployees.lstDepartments。
同样的方式对在窗体模块中所声明的公共变量也是有效的――这是窗体的基础属性(例如,
frmImputs.AllDone)。
注意,您不能在用户窗体的代码模块中声明全局变量。
me是一个在用户窗体的代码模块中指定该用户窗体的快捷方式(例如,me.height表现当前用户窗体的高
度)。
又如,在用户窗体userForm1中指定Textbox1:
?
**********************
'在当前用户窗体模块中
me.Textbox1.Text="example"
'在不同的模块中
userForm1.Textbox1.Text="example",测量投影仪;
?
**********************
一个窗体的性命周期――显示和封闭
您可以在窗体窗口中或者是在窗体的代码模块中,按F5键来显示您的窗体。
如果在模块中有一个userform_Initialize过程,生物显微镜,那么在窗体显示时,光谱投影仪,该过程将首先运行。
如果要使用代码显示和暗藏您的窗体(例如,您可能想在frmIntro窗体中使用一个命令按钮来隐躲frmIntro
窗体并显示frmmain窗体),您应当使用show方法(显示窗体)和hide办法(隐蔽窗体)。
装载和卸载
窗体显示之前,必需装载到内存中。
假如您显示一个没有装载的窗体,该窗体将主动装载。
事实上,窗体中的任何引用或者变量或者控件或者属性都将强迫装载,并且触发初始化事件。
假如您想初始化窗体但不
显示窗体的话,您能应用如下方法装载:
Loadfrmmain
在隐蔽了窗体后,该窗体仍然被装载。
如果您再次显示它,初始化程序不会再运行。
(但Activate程序将会运行。
)为了从内存中肃清窗体,您必须卸载(unload)它。
当用户单击关闭按钮关闭窗体时,窗体将主动卸
载。
因此,窗体装载和卸载的次序是:
装载(Load)―显示(show)―……―暗藏(hide)―卸载(unload)。
卸载会肃清窗体模块中的所有的变量――相似于结束了一个过程。
用户已经输入的任何数值都将丧失,控
件将恢复为您在属性窗口中输入的缺省值。
如果您想保留它们的值,您须要在卸载窗体前进行保留。
模式和无模式
窗体能在两种“模式”之间显示,即模式或者无模式,测量显微镜。
模式窗体不容许用户当窗体显示时在excel中进行其它的操作,像msgbox对话框一样。
无模式窗体许可用户在excel中进行其它操作,然后回到窗
体中来,荧光显微镜。
当无模式窗体显示时,代码将在后台持续履行。
您能使代码暂时结束,直到窗体封闭后持续履行。
可使用
一个循环语句来检讨窗体是否已关闭:
?
**********************
Dountilfrmother.Visible=False
Doevents
Loop
?
**********************
缺省设置是模式窗体。
一旦窗体作为模式窗体显示后,您不能将它转变为无模式窗体。
您必需先暗藏该窗
体,然后再显示它,并指定为无模式窗体。
无模式窗体仅对excel2000及以上版本有效。
用户窗体和控件的事件
事件许可窗体和控件对用户所做的操作作出相应的反映。
您可能熟习excelVbA事件,如
workbook_open,worksheet_change等等。
在excel中,如果没有事件,您能做一些操作,但是在窗体
中,如果没有事件的话,万能工具显微镜,窗体几乎没什么作用。
?
最常用的窗体事件包含窗体初始化(Intialize)、窗体激活(Activate)、窗体恳求关闭(Queryclose)、以及单
击窗体(click)。
?
窗体中控件的常用事件包含更新后(Afterupdate)、变更(change)、单击(click)、输入(enter)、以及退出
(exit)。
为了插入某对象的事件过程,您可以在该对象上单击右键,在快捷菜单中选择”查看代码”,将会主动创立一个该控件尺度的事件过程。
假如您想创建不同的事件过程,可以从Vbe窗口顶部右侧的下拉列表中选择您想创建的事件进程。
还有一个方式是,您可以先进进窗体代码窗口,在代码窗口顶部的左侧的下拉列表
中选择对象,在右侧的下拉列表中选择相应的事件。
用户窗体初始化
最主要的用户窗体事件是初始化(Initialize)事件。
初始化是产生在用户窗体中的第一件事情――只要用户窗
体开端装载,就会触发初始化事件。
在这里,影像测量仪,您可以初始化变量和控件。
例如,您能从电子表格中更新最新的数据到文本框中,改
变文本框的缺省值为今天的日期,等等。
恳求关闭和中断
停止窗体的事件有两个:
要求关闭(Queryclose)和中断(Terminate)。
要求关闭事件首先发生,并且给您撤
消的机遇(不会关闭窗体);中止事件是终极的并