Excel VBA编程 设置窗体的属性
- 格式:doc
- 大小:19.51 KB
- 文档页数:2
窗口(Window 对象)基本操作应用示例Window 对象代表一个窗口,约有48个属性和14个方法,能对窗口特性进行设置和操作。
Window 对象是Windows 集合中的成员,对于Application 对象来说,Windows 集合包含该应用程序中的所有窗口;对于Workbook 对象来说,Windows 集合只包含指定工作簿中的窗口。
下面介绍一些示例,以演示和说明Window 对象及其属性和方法的运用。
示例 02-01:激活窗口(Activate 方法)Sub SelectWindow()Dim iWin As Long i As Long bWinMsgBox "依次切换已打开的窗口"iWin = Windows.CountMsgBox “您已打开的窗口数量为:” & iWinFor i = 1 To iWinWindows(i).ActivatebWin = MsgBox("您激活了第" & i & "个窗口,还要继续吗?" vbYesNo)If bWin = vbNo Then Exit SubNext iEnd Sub示例02-02:窗口状态(WindowState属性)[示例02-02-01]Sub WindowStateTest()MsgBox "当前活动工作簿窗口将最小化"Windows(1).WindowState = xlMinimizedMsgBox "当前活动工作簿窗口将恢复正常"Windows(1).WindowState = xlNormalMsgBox "当前活动工作簿窗口将最大化"Windows(1).WindowState = xlMaximizedEnd Sub示例说明:使用WindowState属性可以返回或者设置窗口的状态。
各种VBAexcel命令、属性、方法本示例为设置密码窗口 (1)If Application.InputBox('请输入密码:') = 1234 Then[A1] = 1 '密码正确时执行ElseMsgBox '密码错误,即将退出!' '此行与第2行共同设置密码End If'本示例为设置密码窗口 (1)X = MsgBox('是否真的要结帐?', vbYesNo)If X = vbYes Then Close'本示例为设置工作表密码ActiveSheet.Protect Password:=641112 ' 保护工作表并设置密码ActiveSheet.Unprotect Password:=641112 '撤消工作表保护并取消密码'本示例关闭除正在运行本示例的工作簿以外的其他所有工作簿,并保存其更改内容For Each w In WorkbooksIf Thenw.Close SaveChanges:=TrueEnd IfNext w'每次打开工作簿时,本示例都最大化 Microsoft Excel 窗口。
Application.WindowState = xlMaximized'本示例显示活动工作表的名称。
MsgBox 'The name of the active sheet is ' & '本示例保存当前活动工作簿的副本。
ActiveWorkbook.SaveCopyAs 'C:'TEMP'XXXX.XLS''下述过程激活工作簿中的第四张工作表。
Sheets(4).Activate'下述过程激活工作簿中的第1张工作表。
Worksheets(1).Activate'本示例通过将 Saved 属性设为 True 来关闭包含本段代码的工作簿,并放弃对该工作簿的任何更改。
ExcelVBA编程新建⽤户窗体
Excel VBA编程新建⽤户窗体
在Excel⼯作表中,当InputBox和MsgBox函数在不能满⾜⽤户应⽤程序的要求时,⽤户可以创建⾃定义⽤户窗体,来满⾜获取更多数据信息的要求。
⽤户不仅能够在⽤户窗体内添加所需的各种控件,⽽且还可为各控件设置相关属性及合理地安排他们的布局。
同时,根据需要为窗体及其中的控件编写特定事件的程序代码,从⽽创建出各种复杂、实⽤的⽤户界⾯。
在当前⼯作表中,选择【开发⼯具】选项卡,单击【代码】组中的Visual Basic按钮,打开VBE环境窗⼝。
然后在该窗⼝中,执⾏【插⼊】|【⽤户窗体】命令,这样就创建了⼀个新的⽤户窗体(UserForm1),如图12-1所⽰。
图12-1 新建⽤户窗体(UserForm)
新创建的⽤户窗体中没有任何控件,在⽤户窗体的标题栏中显⽰了当前⽤户窗体的标题(Caption),和⼀个【关闭】按钮。
⽽窗体中则为⼀个个灰⾊的点组成的⽹格,每个(上、下、左、右)⽹格的⾼度和宽度的间距为6磅,⽹格的的间距可以修改。
⽹格的是⽤于帮助⽤户放置控件的设计⼯具,当窗体在运⾏状态时则不显⽰⽹格。
创建⽤户窗体时,还默认打开了【控件⼯具箱】,该⼯具箱中包含了VBE中所有的可⽤控件,可⽤于向⽤户窗体中添加控件。
提⽰⽤户还可以在VBE环境窗⼝的【⼯程资源管理器】窗⼝中右击,在弹出的快捷菜单中,执⾏【插⼊】|【⽤户窗体】命令,来创建⽤户窗体。
执⾏
控件⼯具箱。
ExcelVBA编程控制窗口Excel VBA 编程控制窗口前面讲解使用VBA 对窗口的一些基本操作。
接下来,利用VBA 还可以控制窗口的大小,位置等。
通过VBA 对窗口的控制,可以让其按照用户的要求来显示窗口。
这些操作都是通过设置Window 对象的属性来完成的。
1.设置窗口大小设置窗口大小,即指定窗口的高度和宽度,需要用到Height 和Width 属性。
它们分别代表窗口的高度和宽度。
用户可以通过设置该属性值来指定窗口的大小。
2.拆分窗口使用拆分工作表窗口功能可以将一个窗口折分成若干个窗口,以方便用户同时查看分隔较远的工作表部分。
拆分工作表窗口主要使用以下属性。
● Split 属性该属性设置窗口是否拆分,即属性值为True 时表示窗口拆分,否则窗口不拆分。
● SplitHorizontal 和SplitVertical 属性该属性是设置拆分窗口的样式,即SplitHorizontal 表示水平拆分窗口,SplitVertical 表示垂直拆分窗口。
● SplitColumn 和SplitRow 属性该属性分别表示窗口拆分成窗格处的列号和行号,可以按照指定属性值的大小对窗口进行拆分。
3.冻结窗口冻结工作表与折分工作表功能相同,都是将一个窗口拆分成若干个,在滚动工作表其余部分时,保持首列可见,以方便用户进行查看。
实现该功能需要用到FreezePanes 属性,即指定该属性值为True 则冻结窗口,否则取消冻结。
4.重排窗口重排可以使工作表在查看时更方便,如用户为了对比两个或多个窗口中的数据,可以使用水平或垂直并排的排列方式进行查看。
在重排窗口时,需要用到Arrange 方法。
格式:表达式.Arrange(ArrangeStyle, ActiveWorkbook, SyncHorizontal, SyncVertical)其中,表达式代表一个Windows 对象的变量,而其他参数功能如表18-8所示。
VBA 让窗体自动适应工作表位置的方法在使用 VBA(Visual Basic for Applications)编写 Excel 宏时,有时候我们需要创建自定义窗体来与用户交互。
然而,当窗体的位置与工作表的位置不匹配时,可能会导致用户体验不佳。
因此,本文将介绍如何使用 VBA 让窗体自动适应工作表位置的方法。
1. 窗体的位置和大小在开始编写代码之前,我们首先需要了解窗体的位置和大小。
在 VBA 中,我们可以使用UserForm对象来创建窗体,并通过设置其Left、Top、Width和Height属性来控制窗体的位置和大小。
•Left属性表示窗体左上角相对于屏幕左边的位置(以点为单位)。
•Top属性表示窗体左上角相对于屏幕顶部的位置(以点为单位)。
•Width属性表示窗体的宽度(以点为单位)。
•Height属性表示窗体的高度(以点为单位)。
2. 获取工作表的位置和大小在让窗体自动适应工作表位置之前,我们需要获取工作表的位置和大小。
在 VBA 中,我们可以使用ActiveSheet对象来表示当前活动的工作表,并通过ActiveSheet.Window属性来获取工作表的窗口对象。
通过窗口对象,我们可以获取工作表的位置和大小:•Top属性表示工作表窗口顶部相对于屏幕顶部的位置(以点为单位)。
•Left属性表示工作表窗口左侧相对于屏幕左侧的位置(以点为单位)。
•Width属性表示工作表窗口的宽度(以点为单位)。
•Height属性表示工作表窗口的高度(以点为单位)。
3. 让窗体自动适应工作表位置有了窗体和工作表的位置和大小信息,我们可以编写代码来让窗体自动适应工作表位置。
以下是一个示例代码:Private Sub UserForm_Initialize()Dim ws As WorksheetDim wsTop As DoubleDim wsLeft As DoubleDim wsWidth As DoubleDim wsHeight As Double' 获取当前活动的工作表Set ws = ActiveSheet' 获取工作表窗口的位置和大小wsTop = ws.Window.TopwsLeft = ws.Window.LeftwsWidth = ws.Window.WidthwsHeight = ws.Window.Height' 设置窗体的位置和大小Me.Top = wsTop + 50Me.Left = wsLeft + 50Me.Width = wsWidth - 100Me.Height = wsHeight - 100End Sub在上述示例代码中,我们首先声明了一些变量来存储工作表窗口的位置和大小。
ExcelVBA编程使用窗体控件提示信息
Excel VBA编程使用窗体控件提示信息
在使用用户窗体创建应用程序时,可以为窗体中的控件添加一些提示信息来帮助用户,使用户可以根据提示信息进行正确的操作,以减少错误的输入或修改。
下面来介绍如何为窗体控件添加提示信息。
控件提示是说明控件、页面或标签的简洁短句。
用户可以使用ControlTipText属性为窗体控件指定控件提示信息,其语法格式如下:Object.ControlTipT ext[=String]
Object是一個有效的对象,String为指定的提示信息。
该属性的值可以在代码中赋值,同时也可以通过【属性】窗体直接指定。
例如,在如下的注册的窗体中,分别为窗体中的控件添加提示信息,使用户在注册时,能够减少输入错误,提高注册的效果。
如图21-6所示。
指向
输入
图21-6 添加控制提示信息图21-7 显示提示信息
完成设置后,用户单击工具栏“运行”按钮,弹出【用户注册】窗体,当用户鼠标指向【用户名】文本框时,将显示控件的提示信息。
如图21-7所示。
excel vba窗体设计实例Excel VBA窗体设计实例Excel是一款功能强大的电子表格软件,它不仅可以进行数据的处理和分析,还可以通过VBA编程语言进行自动化操作。
在Excel中,我们经常需要与用户进行交互,输入或获取数据,这时就可以使用VBA窗体设计来实现。
VBA窗体设计是一种基于用户界面的设计方法,可以通过创建各种控件和设置属性来实现与用户的交互。
下面,我们将介绍几个常见的VBA窗体设计实例,帮助读者更好地理解和应用这一技术。
1. 输入数据窗体在许多情况下,我们需要用户输入数据,然后进行处理和分析。
使用VBA窗体设计,我们可以创建一个输入数据窗体,让用户方便地输入各种信息。
例如,可以创建一个学生信息输入窗体,包括姓名、年龄和成绩等字段,用户可以在窗体中输入这些信息,然后点击确定按钮进行保存或处理。
2. 数据展示窗体有时,我们需要将数据以较为直观的方式展示给用户。
使用VBA窗体设计,我们可以创建一个数据展示窗体,将数据以表格、图表或其他形式展示出来。
例如,可以创建一个销售数据展示窗体,将销售额按照月份进行统计,并以柱状图的形式展示出来,让用户更清楚地了解销售情况。
3. 文件操作窗体在Excel中,我们经常需要进行文件的打开、保存和导出等操作。
使用VBA窗体设计,我们可以创建一个文件操作窗体,让用户方便地进行这些操作。
例如,可以创建一个文件选择窗体,用户可以在窗体中选择要打开或保存的文件,然后通过VBA代码实现相应的操作。
4. 设置窗体有时,我们需要允许用户自定义一些参数或设置,以满足不同的需求。
使用VBA窗体设计,我们可以创建一个设置窗体,让用户方便地进行参数或设置的修改。
例如,可以创建一个打印设置窗体,用户可以在窗体中选择纸张大小、打印方向等参数,然后通过VBA代码将这些设置应用到打印操作中。
5. 消息提示窗体在程序运行过程中,我们经常需要向用户发送一些提示或警告信息。
使用VBA窗体设计,我们可以创建一个消息提示窗体,将这些信息以弹窗的形式展示给用户。
Excel VBA用户窗体常用的方法2021-06-20 23:401、显示用户窗体用于以编程方式显示用户窗体的语法是:UserFormName.Show假设要显示用户窗体名为 UserForm1,使用以下代码:时可以加载到内存用户窗体而不实际显示它。
可能需要复杂的用户窗体几秒钟才显示。
可以预用户窗体加载到内存中,因为您可以决定何时引发此开销。
但不显示加载到内存的UserForm1,使用以下代码:Load UserForm1您必须使用 Show 方法时以前显示的。
2、如何临时隐藏用户窗体如果想要临时隐藏用户窗体,请使用隐藏方法。
可以隐藏用户窗体,如果您的应用程序涉及用户窗体之间移动。
假设要隐藏用户窗体,使用以下代码:3、如何从内存中删除用户窗体要从内存中删除用户窗体使用在卸载语句。
假设要卸载一个名为 UserForm1 用户窗体,使用以下代码:Unload UserForm1如果卸载与用户窗体或与用户窗体上的控件相关联的事件过程中用户窗体〔例如,您单击CommandButton 控件),您可以使用"Me"关键字而不是用户窗体的名称。
要使用"Me"关键字卸载用户窗体,使用以下代码:Unload Me4、如何使用用户窗体事件用户窗体支持许多预定义的事件,您可以将附加 VBA 过程。
在事件发生时, 该过程附加到该事件就会运行。
由用户执行的单个操作可以启动多个事件。
最频繁用户窗体使用的事件包括 Initialize 事件、 Click 事件和终止事件。
请注意 Visual Basic 模块包含事件的过程可能被称为"隐藏"用户窗体的模块。
看Microsoft Project Explorer 窗口的 Visual Basic 编辑器的 Modules 集合中不包含事件过程的模块。
您必须双击用户窗体可以查看用户窗体的主体代码模块。
5、如何捕获用户窗体事件要捕获用户窗体事件,请按以下步骤操作:在 Excel 中创立一个新工作簿。
ExcelVBA用户窗体编程基础概述当使用MsgBox函数和InputBox函数不能满足与用户交互的需求时,您能使用用户窗体来自定义对话框。
您能使用用户窗体来显示所输入的数据,您甚至能使用用户窗体创建一个完整的用户界面,而不会让用户接触到电子表格本身。
您在Windows对话框中所看到的大多数控件都能在用户窗体中实现——命令按钮,选项按钮,复选框,文本框,组合框——加上一些其它不常用的控件像图像,日历,等等。
本文介绍了用户窗体的基本概念,并介绍了使用用户窗体的常用技术。
其中,也讲解了一些最通用的思路。
在文章中列举了一个包含所有过程的完整的示例文件,以及实现这些过程的代码,让您能在实践中看到所有工作的基本原理和方法。
本文包含以下内容:● 基本的用户窗体操作● 用户窗体和控件的属性● 一个用户窗体的生命周期● 用户窗体和控件的事件● 问题1:如何在用户窗体间传递数据?● 问题2:如何找到我的窗体中的某类控件?● 问题3:如何获取数据到列表框中?● 问题4:如何为循环创建进度条?● 一个完整的用户窗体综合示例基本的用户窗体操作•创建一个窗体。
打开VBE编辑器(选择菜单“工具——宏——Visual Basic编辑器”或按Alt+F11组合键),选择菜单“插入——用户窗体”,或者在工程窗口中单击右键,从弹出的快捷菜单中选择“插入——用户窗体”,即可创建一个窗体。
•添加控件。
当你创建了一个窗体后,将会显示一个名为“控件工具箱”的浮动工具箱(如果没有该工具箱的话,您可以从视图菜单中找到它),其中显示了最普遍的控件类型。
单击您想要的控件,拖动它到您的用户窗体中。
•更多的控件。
有一些更多的可用的控件,您可以在控件工具箱中单击右键,从中选择“附加控件”,您能添加日历、电子表格、图形,等等。
•添加事件程序。
事件允许当用户对窗体和控件进行操作时作出相应的反应,事件程序要放置在用户窗体模块中,您能通过双击窗体或控件来打开代码模块窗口,或者在窗体或控件中单击右键,从快捷菜单中选择“查看代码”来打开代码模块窗口,或者在工程窗口中的用户窗体图标上单击右键后选择“查看代码”来打开代码模块窗口。
ExcelVBA编程调整窗体中的控件Excel VBA 编程调整窗体中的控件设计⽤户窗体时,要求尽可能的美观整洁、简单实⽤。
当⽤户窗体中的控件数量较多时,如何安排各控件的位置,以及设置控件的⼤⼩等操作就显得⾮常的重要了,下⾯介绍快速调整控件⼤⼩及排列控件位置的⽅法。
1.设置控件⼤⼩要设置⽤户窗体中控件的⼤⼩时,可通过拖动⿏标来控制控件的⼤⼩。
对于已经添加到窗体上的控件,单击并选中控件时,其周围将出现8个控制点,拖动这些控制点也可以设置控件的⼤⼩。
除了使⽤⿏标拖动的⽅式来设置控件的⼤⼩外,还可以使⽤Height 和Width 属性来设置控件的⾼度与宽度,以磅为单位的数值类型的值。
当窗体中的控件较多时,⼀般还需要将类似的控件设置为⼤⼩相同。
可在窗体中选择要设置的控件,并在【属性】窗⼝中,为其Height 和Width 属性指定值,来设置所选择的控件的⼤⼩。
还可以在选择控件后,并右击其中的⼀个控件,执⾏【统⼀尺⼨】|【两者有相同】命令,设置控件⼤⼩(宽度和⾼度)相同。
如图12-13所⽰。
图12-13 设置控件⼤⼩【统⼀尺⼨】菜单下有三个⼦菜单命令,其作⽤为:●宽度相同该命令可使被选择的所有控件的宽度相同●⾼度相同该命令可使被选择的所有控件的⾼度相同●两者相同该命令可使被选择的所有控件的宽度和⾼度相同。
执⾏该命令等于分别执⾏了【宽度相同】和【⾼宽相同】。
提⽰在使⽤右键快捷菜单中的命令,来控制控件的⼤⼩统⼀相同的时候,选择的控件将以拥有⽩⾊控制点的控件的⼤⼩为准。
在本书中称其为“参照控件”。
2.设置控件布局控件布局是指在窗体中添加控件之后,对控件的⼤⼩、位置、间距等格式的设置。
通过对窗体控件的布局的设置,可使窗体界⾯变得更加整齐和美观,并为⽤户提供⼀个更加友好的⽤户界⾯。
在⽤户窗体中,分别提供了对窗体对象的对齐、⽔平间距、垂直间距、窗体内居中和排列按钮等内容设置,下⾯来介绍这些设置的作⽤,如表12.5所⽰。
Excel VBA编程设置窗体的属性
通过设置窗体的各种属性,来创建具有不同效果的窗体。
其属性设置如同控件一样,可以通过【属性】窗体进行设置,也可以通过代码来改变窗体属性的值。
下面来介绍窗体常用属性的设置:
单击用户窗体后,【属性】窗体中将自动显示窗体的所有属性。
下面介绍窗体的常用属性,如表12.1所示。
表12.1 窗体的常用属性
窗体的属性除了可以在【属性】窗口中指定外,还可以在代码窗口中输入指定的代码来设置指定属性的值,其格式如下: 格式:object.属性=Value
其中,object 为窗体对象的名称,Value 为属性指定的值,值有多种类型,如字符串和逻辑值。
在输入时,输入对象名称和小数点(对象的引用)后,将自动弹出一个列表框。
该列表框显示了与指定对象相关的属性和方法的名称列表。
在列表框中,使用鼠标或键盘的方向键选择其中的选项。
该列表框还具有查询功能。
如在对象小数点后输入“cap ”,则列表框中的选项自动指向Caption 选项,这里单击回车或输入赋值号“=”后,即可为该属性进行赋值。
如果当前属性的值为固定选项时,在输入赋值号“=”后,也会显示一个列表框,并列出了该属性的所有的值,如在使用Enabled 属性时,输入“=”后,弹出一个拥有True 和False 两个选项的列表框。
技 巧
在输入代码的时候,有时会不小心将弹出的列表框取消掉,这时,可以重新输入小数点“.”或赋值号“=”,将该列表框显示出来。
或者将指针指定到语句中对象、属性或赋值号后的值中,按下Ctrl+J 键,也可以将列表框显示出来。